- ベストアンサー
エクセルで、検索した値と同列の値をそのまま反映する
詳しい方がいらっしゃいましたら、よろしくお願いいたします。 データのヘッダー行には商品名が入っています。 それ以降の列には0または1のデータが並んでいるとします。 「1」が立っていれば、「1」が立っている列の1行目の値(商品名) をそのまま反映させたいのですが、 HLOOKUPでは上手くいきませんでした。 考え方、もしくは使用する数式の種類などを教えていただきたいので、 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ご質問の意味がよく理解できませんが次のようなことならということで回答します。 例えばA1セルからK1セルまでに商品名が入力されているとして、下の行には0や1が入力されているとします。 そこでL列にその行で1が入力されている商品名を表示させるとしたらL2セルには次の式を入力して下方にドラッグコピーします。 =IF(OR(COUNT(A2:K2)=0,COUNTIF(A2:K2,1)=0),"",INDEX(A$1:K$1,MATCH(1,A2:K2,0)))
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
>1が立っている列を全て並べたい 「そういうこと」をしたいのでしたら, A2: =IF(B2=1,B$1,"") & IF(C2=1,C$1,"") & IF(D2=1,D$1,"") のように延々つなげて下向けにコピーして並べておく みたいな作り方をするしかアリマセン。 シート2などに作業用の表を別に用意して綺麗に計算し,シート1にその結果を持ってくるといった作りカタをした方が遙かにクールですが,一般にこういうご相談を投稿される方々はそういう方法を好みません。 参考: シート1のB列以降に 1行目に項目 2行目以下に1かゼロ シート2のA2に =" "&IF(Sheet1!B2,Sheet1!B$1,"")&" "&B2 と記入し,右に下にえいやっとコピー貼り付けておく シート1のA2に =SUBSTITUTE(TRIM(Sheet2!A2)," ",",") と記入し,下向けにコピー貼り付ける
- esupuresso
- ベストアンサー率44% (257/579)
>データのヘッダー行には商品名が入っています。 これは見出し行のことでしょうか? >それ以降の列には0または1のデータが並んでいるとします。 見出し行より下の行ではなくて、見出し行から更に右方向ということなのか意味が不明ですが、とりあえず画像を添付しました。 上の表の場合の数式 セルB8 =IF(COUNTIF(B$2:B$7,1)>=1,B$1,"") の式を入れて右方向へ式をコピーします 下の表の場合の数式 セルF2 =IF(COUNTIF($B2:$E2,1)>=1,$A2,"") の式を入れて下方向へ式をコピーします こんな表ではないのかなぁ・・・?
補足
早速のご回答本当に感謝いたします。 説明不足ですみません、補足いたします。 まず、図は上の方の図になります。 ただし、戻り値をA列に返したいのです。 例えばこの列を日付だとして、○日はあいう、○日はさしす、 のようにしたいです。 日付別に1が立っている商品全てを返したい、という意味でした。 なので、「1が立っている列の先頭行を参照して値を返す」 という考え方をしておりました。
お礼
早速のご回答、本当にありがとうございます。 お礼が遅くなり申し訳ありません。 急いでおりましたので、本当に助かりました。 せっかく教えていただいたので、意味を理解して使えるようにします。 ありがとうございました。