プロが教えるわが家の防犯対策術!

データ

   A B C D E F G ・・・
 イ * *   *
 ロ   *
 ハ  *    *

から、行ごとに集計して、「*」のあるアルファベットを一つのセルに表示させるということをしたいのですが、良い方法が見つかりません。
例えば、イの行であれば[A B D]、ハの行であれば「B E」という感じです。

「LOOKUP関数」だと、最初にHITしたものしか返ってきません。
一つではなく、複数欲しいのです。

Excelに不慣れな者ですが、複雑な式であっても何とか頑張りたいと思います。
どなたかご教示お願いします。

A 回答 (4件)

例えばB1セルにA,C1セルにB,D1セルにC・・・とH1セルまで入力されているとしてJ2セル方下方にお求めの表示をさせるとしたらJ2セルには次の式を入力して下方にオートフィルドラッグします。



=IF(B2<>"",B$1,"")&IF(C2<>"",C$1,"")&IF(D2<>"",D$1,"")&IF(E2<>"",E$1,"")&IF(F2<>"",F$1,"")&IF(G2<>"",G$1,"")&IF(H2<>"",H$1,"")

列がもっと多くなってもも同様の式を追加すればよいだけです。
    • good
    • 0
この回答へのお礼

ありがとうございます!
できました!!!
というか、なるほどです。勉強になります(*^_^*)

お礼日時:2011/07/29 09:25

こんばんは!


VBAでの一例です。
Sheet1にあるデータをSheet2のA列に表示するようにしてみました。

Sheet1の1行目に表示したいデータが、アスタリクス「*」はB列以降に入っているとします。

画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面になりますので、
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub test() 'この行から
Dim i, j As Long
Dim str As String
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row
For j = 2 To ws1.Cells(i, Columns.Count).End(xlToLeft).Column
If ws1.Cells(i, j) = "*" Then
str = str & ws1.Cells(1, j)
End If
Next j
ws2.Cells(i, 1) = str
str = ""
Next i
End Sub 'この行まで

他に良い方法があればごめんなさいね。m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
マクロって扱ったことがなく、敷居が高いというか、キャーという感じです。
でも、時間をかけてチャレンジしてみようと思います。
ありがとうございました(*^_^*)

お礼日時:2011/07/29 09:43

添付図参照


1.セル L2 に式 =IF(B2="*",B$1,"") を入力して、此れを右へ(セル Q2 まで)ズズーッとドラッグ&ペースト
2.セル J2 に式 =L2&M2&N2&O2&P2&Q2 を入力
3.範囲 J2:Q2 を下方にズズーッとドラッグ&ペースト
「Excelで複数の結果を一つのセルに表示」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます!
できました!
でも、実は列が150列くらいあるんです・・・。
しかーし、皆さんの回答のおかげでヒントというか、選択肢が増えたというか、トンネルから抜け出れそうです。
「*」をこの際、「A」「B」「C」・・・で表記すれば、話は早いですよね。
ありがとうございました(*^_^*)

お礼日時:2011/07/29 09:34

これは*を変換したらダメなんですか?


*のままじゃないといけないんでしょうか?

もし変えていいなら簡単にできる方法はありますが、、あと、列は長いのでしょうか?(Gまでですか?)

この回答への補足

ありがとうございます!
「*」の変換はO.K.です。
列は 150列 ほどあります。

補足日時:2011/07/29 08:59
    • good
    • 0
この回答へのお礼

出口が見えてきました!!!
「*」を変換すればいいんですよね!!!
ありがとうございました(*^_^*)

お礼日時:2011/07/29 09:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!