以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]求一顺序公式  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=2354)

--  作者:春夏秋冬
--  发布时间:2011/6/6 20:57:00
--  [求助]求一顺序公式
251 110  874如何用公式排列为110 251 874(或者874 251 110)。谢谢
--  作者:wjq1072
--  发布时间:2011/6/6 21:18:00
--  
发文件,进一步说明问题!
--  作者:dancedy
--  发布时间:2011/6/7 9:52:00
--  
sortcol(gridname,colname,1)
--  作者:Czy
--  发布时间:2011/6/7 12:56:00
--  
这种要求用刷新公式几乎没有办法实现。
用操作公式倒是可以,不过如果按f6重算,会出现一些问题,比如速度问题。
所以最好的办法是做个按钮,输入数据后再进行排序,可以对当前行排序,也可以做个全表一次性的排序

egd文件下载


--  作者:Czy
--  发布时间:2011/6/7 13:03:00
--  
楼上公式有误,更改为

if([原字符]="",true,CreateGrid(".","X",1) And SetVariable("%n%",0) And eval(Mid(Rept(" And SetVariable(""%n%"",[%n%]+1) And AddRow(grids,1,Split([原字符],"" "",[%n%]))",Len([原字符])-Len(Substitute([原字符]," ",""))+1),5)) And SortCol(grids,1,1) And SetCellText(grid,row,2,Substitute(ListFor(grids,1,2),"|"," ")) And RemoveGrid("."))


--  作者:春夏秋冬
--  发布时间:2011/6/7 14:05:00
--  
谢谢高手
--  作者:wjq1072
--  发布时间:2011/6/7 19:26:00
--  
借用CZY的文件,不要变量试试?
CreateGrid(".","k",0) And AddRows(".",Len([原字符])) And EvalFor(".","k","Split([表1!原字符],"" "",Row)") And SortCol(".","k",1) And EvalFor(Grid,"重新排序","Substitute(ListFor(""."",""k"",2),""|"","" "")",rowsel,rowsel) And RemoveGrid(".")