Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。

?
Lv 7
? 發問於 電腦與網際網路軟體 · 1 十年前

請問 Excel 資料展開

A 欄品名

B 欄數量

品名----數量

剪刀----3

膠水----1

直尺----2

C 欄要變成

剪刀

剪刀

剪刀

膠水

直尺

直尺

數量不會超過 10,希望可以用函數解,謝謝!

3 個解答

評分
  • piny
    Lv 7
    1 十年前
    最愛解答

    =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 7
    1 十年前

    感謝 piny 大師這快給解答

    如漢鍾離大所言

    我指的是單項的數量會小於 10

    但是品名有可能到 30~40 項

    不知道這個部分能不能改寫成陣列的方式以縮短公式

    REPT(1,$B$1)&REPT(2,$B$2)&REPT(3,$B$3)

  • 1 十年前

    覺得版大要求品名的項數是變量, 不一定是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)&""

還有問題嗎?立即提問即可得到解答。