• ベストアンサー

エクセルの空白をつめて表示する方法

こんにちは。こちらではいつもお世話になっています。 タイトルの通り、エクセルの空白をつめて表示する方法を教えてください。 具体的には、以下の通りです。 ==========================   A B C    →       A B C     1   あ            1 あ あ   2                 2 い           3   い            3 う い      4   う             4 え う 5                 5 6                 6 7   え            7   え ・                ・ ・                ・ ========================== 上記の様に、Bの列に入っている値をAの列に空白をつめて表示したいのです。 Bの行数は続き、100弱ぐらいでしょうか。 Bの列に値が入れば、自動にAの列が上記のようになればベストです。(関数?) 説明が不十分であれば、申し訳ございません。 宜しくお願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.5

A1: {=INDEX(B$1:B$100,SMALL(IF(B$1:B$100<>"",ROW(B$1:B$100),""),ROW(B1)))}   (配列数式)

0224
質問者

お礼

お礼が遅くなり申し訳ございません。とても参考になり、助かりました。有難うございました。

その他の回答 (4)

  • kmmk16
  • ベストアンサー率46% (32/69)
回答No.4

VBAを使用する方法です。 Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, n As Integer n = 1 If Intersect(Columns("B"), Target) Is Nothing Then Exit Sub For i = 1 To 100 If Cells(i, 2) <> "" Then Cells(n, 1) = Cells(i, 2) n = n + 1 End If Next End Sub を貼り付けてください

0224
質問者

お礼

お礼が遅くなり申し訳ございません。有難うございました。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

C列に作業セルを使いますが A列に =IF(COUNTA($B:$B)<ROW(),"",OFFSET($B$1,SMALL($C:$C,ROW())-1,0)) C列に =IF(B1="","",ROW())

0224
質問者

お礼

お礼が遅くなり申し訳ございません。有難うございました。

回答No.2

非推奨ですが頭が回らないので配列数式でA1セルに =IF(COUNTA(B:B)<ROW(),"", INDEX(B:B,SMALL(IF($B$1:$B$6<>"",ROW($B$1:$B$6)),ROW()))) [Ctrl]+[Shift] +[Enter] で確定、({}で囲まれる) 下へオートフィル

0224
質問者

お礼

お礼が遅くなり申し訳ございません。有難うございました。

  • kztk
  • ベストアンサー率53% (59/110)
回答No.1

どういう要望をされているのかが、例示された内容ではわからないのですが・・・ >Bの列に入っている値をAの列に ・例えば右側のA1にある「あ」はB1の「あ」を表示しているということですか?  A2の「い」はいったいどこから???  A3の「う」〃   : ・どこに空白があり、どう詰めたいのかがわかりません

関連するQ&A