Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。
請問 Excel 資料展開
A 欄品名
B 欄數量
品名----數量
剪刀----3
膠水----1
直尺----2
C 欄要變成
剪刀
剪刀
剪刀
膠水
直尺
直尺
數量不會超過 10,希望可以用函數解,謝謝!
3 個解答
- pinyLv 71 十年前最愛解答
=INDIRECT("A"&IF(ROW(A1)<=$B$1,1,IF(ROW(A1)<=$B$1+$B$2,2,IF(ROW(A1)<=$B$1+$B$2+$B$3,3))))
2010-05-28 11:35:06 補充:
或
=INDIRECT("A"&1+(ROW(A1)>$B$1)+(ROW(A1)>$B$1+$B$2)+(ROW(A1)>$B$1+$B$2+$B$3))&""
2010-05-28 11:39:55 補充:
或
=INDEX(A:A,1+(ROW(A1)>$B$1)+(ROW(A1)>$B$1+$B$2)+(ROW(A1)>$B$1+$B$2+$B$3))&""
2010-05-28 11:49:54 補充:
或
=INDEX(A:A,MID(REPT(1,$B$1)&REPT(2,$B$2)&REPT(3,$B$3),ROW(A1),1))
2010-05-28 12:23:04 補充:
如果A欄字數皆相同(假設為二個字),可再簡化,亦有偵錯功能
=MID(REPT(A$1,B$1)&REPT(A$2,B$2)&REPT(A$3,B$3),ROW(A1)*2-1,2)
2010-05-28 15:46:08 補充:
嗯 題意有說數量少於十個 所以沒多想
2010-05-28 17:43:23 補充:
=INDEX(A:A,SUM(--(ROW(A1)>SUMIF(OFFSET($B$1,,,ROW($1:$30)),">0")))+1)
陣列
- ?Lv 71 十年前
感謝 piny 大師這快給解答
如漢鍾離大所言
我指的是單項的數量會小於 10
但是品名有可能到 30~40 項
不知道這個部分能不能改寫成陣列的方式以縮短公式
REPT(1,$B$1)&REPT(2,$B$2)&REPT(3,$B$3)
- 漢鍾離Lv 61 十年前
覺得版大要求品名的項數是變量, 不一定是3項, 有可能是30項
2010-05-29 00:16:43 補充:
=LOOKUP(ROW()-2,SUMIF(OFFSET(B$1,,,COLUMN(A:Z)),">0"),A$2:A$27)&""
=LOOKUP(ROW()-2,SUBTOTAL(9,OFFSET(B$1,,,COLUMN(A:Z))),A$2:A$27)&""