• ベストアンサー

エクセルでセルの値分の個数の文字列を自動で入れたい

セルの値分の個数の文字列を自動で入れたいのですが、 例 |い|3| |ろ|2| このような2行2列の表を作ることにより |い| |い| |い| |ろ| |ろ| のように「い」を3つ「ろ」を2つの1列に並んだ表にしたいのです。 すみませんが詳しい方に簡単な方法を教えていただければ幸いです。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

No.1です。 この式では応用が効かないので、別の式を考えました。 C列を補助列として使います。 まず、C1に =B1 と入れます。 そして、C2に、 =SUM($B$1,$B$1:$B1) と入力して、C16までコピーします。 D列に羅列するとして、 D1に =IF(ROW(A1)>$C$16,"",LOOKUP($C$1+ROW(A1)-1,$C$1:$C$16,$A$1:$A$16)) という式を入れて、下にコピーしてください。 行数が増えたときは、上記の式の16の部分を変更してください。

lovo
質問者

お礼

思い通りのことができ、助かりました。2度手間をとらせすみませんでした、本当にありがとうございます。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

  B  C D E 1 2  い 3 3  ろ 2   い 4  は 4   い 5  に 1   い 6  ほ 5   ろ 7       ろ 8       は 9       は 10      は 11      は 12      に 13      ほ 14      ほ 15      ほ 16      ほ 17      ほ 1.例えば、セル E3 に最初の文字列「い」を入力 2.その下のセル E4 に次式を入力して、此れを下方にズズーッと複写   =IF(VLOOKUP(E3,B$2:C$100,2,FALSE)-COUNTIF(E$3:E3,E3)+1>1,E3,INDEX(B$2:B$100,MATCH(E3,B$2:B$100,0)+1,1))

lovo
質問者

お礼

具体例を示していただいて迷うことなく実行できました、ありがとうございました。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

2行2列の表がA1:B2の範囲にあると仮定して、結果を表示したい列の先頭に、 =IF(ROW(A1)>SUM($B$1:$B$2),"",IF(ROW(A1)>$B$1,$A$2,$A$1)) と入力して、下にコピーしてみてください。

lovo
質問者

お礼

ありがとうございました、自分には難しくて応用できません(汗 もしよろしければ、行数が増えたときの応用の仕方を教えていただければ助かります、 実際には16行くらいの表で実行したいのですが、IFの制限数で関数では不可能でしょうか?

関連するQ&A