- ベストアンサー
エクセルの空白をつめて表示する方法
こんにちは。こちらではいつもお世話になっています。 タイトルの通り、エクセルの空白をつめて表示する方法を教えてください。 具体的には、以下の通りです。 ========================== 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の列が上記のようになればベストです。(関数?) 説明が不十分であれば、申し訳ございません。 宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
A1: {=INDEX(B$1:B$100,SMALL(IF(B$1:B$100<>"",ROW(B$1:B$100),""),ROW(B1)))} (配列数式)
その他の回答 (4)
- kmmk16
- ベストアンサー率46% (32/69)
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 を貼り付けてください
お礼
お礼が遅くなり申し訳ございません。有難うございました。
- web2525
- ベストアンサー率42% (1219/2850)
C列に作業セルを使いますが A列に =IF(COUNTA($B:$B)<ROW(),"",OFFSET($B$1,SMALL($C:$C,ROW())-1,0)) C列に =IF(B1="","",ROW())
お礼
お礼が遅くなり申し訳ございません。有難うございました。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
非推奨ですが頭が回らないので配列数式でA1セルに =IF(COUNTA(B:B)<ROW(),"", INDEX(B:B,SMALL(IF($B$1:$B$6<>"",ROW($B$1:$B$6)),ROW()))) [Ctrl]+[Shift] +[Enter] で確定、({}で囲まれる) 下へオートフィル
お礼
お礼が遅くなり申し訳ございません。有難うございました。
- kztk
- ベストアンサー率53% (59/110)
どういう要望をされているのかが、例示された内容ではわからないのですが・・・ >Bの列に入っている値をAの列に ・例えば右側のA1にある「あ」はB1の「あ」を表示しているということですか? A2の「い」はいったいどこから??? A3の「う」〃 : ・どこに空白があり、どう詰めたいのかがわかりません
お礼
お礼が遅くなり申し訳ございません。とても参考になり、助かりました。有難うございました。