楼主 liuguansky |
Q:如何用一个数组公式把文本与数值分开列示,并在数值后加入文本?如下图示效果: 左边是数据源,右边是结果。 A:C1输入如下数组公式
|
2楼 piny |
=TEXT(INDEX($A:$A,SMALL(IF(($A$1:$A$10<>"")*TEXT($A$1:$A$10,REPT("!2;",3)&"!1")=COLUMN(A$1),ROW($1:$10),4^8),ROW(1:1))),"0元;;;@") 從公式設置"0元;;;@"可知面額不會出現負數及零 故公式可簡為 120字元 =TEXT(INDEX($A:$A,SMALL(IF(($A$1:$A$10<>"")*TEXT($A$1:$A$10,"!2;;!2;!1")=COLUMN(A1),ROW($1:$10),4^8),ROW(A1))),"0元;;;@") ========================================================================================== 115字元 =TEXT(OFFSET($A$1,SMALL(IF(LENB($A$1:$A$10)<>LEN($A$1:$A$10),ROW($1:$10),4^7),ROW(A1))-1+(COLUMN(A1)=2),),"0元;;;@") ========================================================================================== 111字元 =TEXT(OFFSET($A$1,SMALL(IF(LENB($A$1:$A$10)<>LEN($A$1:$A$10),ROW($1:$10),4^7),ROW(A1))+COLUMN(A1)-2,),"0元;;;@") ========================================================================================== 98字元 =TEXT(OFFSET($A$1,SMALL(IF(ISNUMBER($A$1:$A$10),ROW($1:$10),4^7),ROW(A1))+COLUMN(A1)-3,),"0元;;;@") ========================================================================================== 96字元 =TEXT(OFFSET($A$1,SMALL(IF(ISERR(-$A$1:$A$10),ROW($1:$10),4^7),ROW(A1))+COLUMN(A1)-2,),"0元;;;@") |
3楼 wangg913 |
怎么会做得这么复杂? |
4楼 wjc2090742 |
写个帖压力这么大啊。piny兄公式下拉出错了,再看看吧。 |
5楼 piny |
全部公式皆經測試正確才會發佈 不知哪一個公式出錯 煩請指教 此公式皆有一個假設 假設文本後一格會接著一個大於0的數字 |
6楼 gouweicao78 |
|
7楼 piny |
草版公式高明,多單元格數組 選取C1至D10 =TEXT(OFFSET(A1,SMALL(IF(ISERR(-A1:A10),ROW(1:10),4^7),ROW(1:10))-{1,0},)&"","0元") 草版的公式,選取C1至D5 =TEXT(INDEX(A:A,SMALL(IF(A1:A10<>"",ROW(1:10),4^8),ROW(1:5)*2-{1,0}))&"","0元") |