• ベストアンサー

エクセルで、検索した値と同列の値をそのまま反映する

詳しい方がいらっしゃいましたら、よろしくお願いいたします。 データのヘッダー行には商品名が入っています。 それ以降の列には0または1のデータが並んでいるとします。 「1」が立っていれば、「1」が立っている列の1行目の値(商品名) をそのまま反映させたいのですが、 HLOOKUPでは上手くいきませんでした。 考え方、もしくは使用する数式の種類などを教えていただきたいので、 よろしくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

ご質問の意味がよく理解できませんが次のようなことならということで回答します。 例えば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)))

officer2012
質問者

お礼

早速のご回答、本当にありがとうございます。 お礼が遅くなり申し訳ありません。 急いでおりましたので、本当に助かりました。 せっかく教えていただいたので、意味を理解して使えるようにします。 ありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>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)," ",",") と記入し,下向けにコピー貼り付ける

回答No.1

>データのヘッダー行には商品名が入っています。 これは見出し行のことでしょうか? >それ以降の列には0または1のデータが並んでいるとします。 見出し行より下の行ではなくて、見出し行から更に右方向ということなのか意味が不明ですが、とりあえず画像を添付しました。 上の表の場合の数式 セルB8 =IF(COUNTIF(B$2:B$7,1)>=1,B$1,"") の式を入れて右方向へ式をコピーします 下の表の場合の数式 セルF2 =IF(COUNTIF($B2:$E2,1)>=1,$A2,"") の式を入れて下方向へ式をコピーします こんな表ではないのかなぁ・・・?

officer2012
質問者

補足

早速のご回答本当に感謝いたします。 説明不足ですみません、補足いたします。 まず、図は上の方の図になります。 ただし、戻り値をA列に返したいのです。 例えばこの列を日付だとして、○日はあいう、○日はさしす、 のようにしたいです。 日付別に1が立っている商品全てを返したい、という意味でした。 なので、「1が立っている列の先頭行を参照して値を返す」 という考え方をしておりました。

関連するQ&A

  • EXCELでうまく反映させたい

    A列に名前、B列に数、C列に日付が入っています。 それが100行あります。 D列以降の1行目にに7/1から7/31まで日付が入っていて、A列からC列までをD列の2行目から100行目までに反映させて、表を作りたいと思っています。 A・B列・C列にそれぞれ名前や数、日付を入れるとD列以降の日付の下に必要な数量が入るように数式を作る方法はありますか? A・B・C列は専用端末からデータを持ってくるので、その度にD列以降を手で作るのは大変です。A・B・C列だけだと、見た目に見づらいので何日にいくつ(数)必要かを一目で見られるようにしたいのです。 何かいい方法を思いつく方いらっしゃいますか? よろしくお願いします。

  • エクセルで計算式が反映されない。

    いつもお世話になります。 エクセル(たしか2007)で日報を作成し、管理しています。 前日のシートから日付と金額を呼び出す数式を入れて使っていましたが、 なぜか数式が表示される上、反映されなくなってしまいました。 以前から使っていて、うまく行っているファイルの書式などを 見比べても何がおかしいのかわかりません。 シートは1,2,3,4,5日付順に並んでいます。 ='1'!AA133:AB133 こういった計算式で1日に入力した金額や日付、商品名を2日に反映させたい のですがそのまま2日のセルには'1'!AA133:AB133と表示されてしまいます。 もちろんイコールは入っているし、種類も文字列や金額など いろいろ弄っては見たんですが...。 ちなみに日付の部分だけが反映されてなくて、 金額や商品名は同じ書式で出ています。 何か心当たりがある方はご教授いただけると助かります。

  • エクセルの検索について教えてください

    エクセルでデータから、最小値を検索し、さらにその値からまた検索したい のですが、VLOOKUP,HLOOKUP,等使ってエラーがでてしまい、 ネットで調べて見よう見まねでINDEX,MATCH関数を使ってみたのですが、 エラーがでてしまいました どなたかわかる方どうか教えてください よろしくお願いします データの中身はこうなっています↓ 2行目には区分が、B列には名前がはいっていて データはB2からY12まではいっています Z列に、それぞれの列の最小値を検索して、さらにその値が どの区分なのかを表示させたいのですが、,, 無理でしょうか,,,      B列  C列  D列  E列    Y列     Z列 2行目 区分  1区分,2区分,10区分、、、5区分    3行目 りんご  3  、 15 、 20 、、、10     1区分 4行目 みかん 15  、 10 、 5  、、、12    10区分       ・       ・       ・ 12行目 その他 2  、  3 、 6 、、、、10    1区分 

  • 同列で重複する値の隣の列の値を表示させたい

    エクセルで下記のような、A列には必ず値(品目)が入っていますが、 B列には値(価格)が入っていたり入ってなかったりする表で、 A列で重複する値がある場合、隣の列B列の値をC列に表示させるような方法はありますか? A列には品目のデータが2000行以上ありまして、B列には価格が1000程度しか埋まっておらず 出来れば関数か何かでB列の抜けた価格データを埋めたいと思っています。 職場にて使用出来るエクセルバージョンは2000です。何卒宜しくお願い致します。 (何故か空白スペースが反映されない為、……を空白として入力させて頂きました。) ………A …… B …… C 1 …みかん … 200… 2 …りんご … 100… 3 … バナナ…150… 4 …ぶどう…300… 5 …りんご… 6…メロン… 600… 7… みかん… 8 …キウイ…170…

  • エクセルでの条件付きの値結合

    エクセルでのリストの編集方法を教えてください。 下記のような商品リストがあります。全て文字列形式です。 A列:商品コード (例:ATR-0001)半角英数 B列:バリエーション名 (例:カラー)全角 C列:バリエーション値 (例:ブラック)全角 D列:バリエーション品番 (例:-bk)半角英数 このとき、A列の値が同じでかつ、B列の値が同じ行の場合、 C列の値をつなげた値をE列に、 D列の値をつなげた値をF列に返したいです。 A列とB列が同じ値なら、E列、F列に入る値も同一で結構です。 ただ、つなげる際は値と値を半角コロンで区切る必要があります。 同じ値が何行並ぶかどうかは一定ではなく商品ごとに異なります。 VBAでも数式でも結構です。 よろしくお願いいたします。

  • エクセルのセルの値を別のシートから反映

    エクセルのセルの値を別のシートから反映させたいのですが「='[○○○(▲▲▲).xls]◇◇◇'!$A$1」といった数式がそのまま表示されてしまい、他のシートから反映できません。これは何が原因なのでしょうか。

  • エクセルでの特定の値・文字を抽出したいのですが・・

    初めて質問させていただきます。至らない点等もあるかと思いますがよろしくお願いいたします。 現在エクセル2010を使用しています        A列    B列     (略) E列 1行    コード   商品名        ★ここに「AP」と入力すると「りんご」と反映されたい。 2行     AP     りんご 3行     OR     みかん 見づらくて申し訳ないのですが、 特定の商品名に対して、コードのようなものを割り当て ほかのセルやほかのシートで割り当てたコードを入力し、商品名が表示されるような関数を入力したいのですが 調べてみてもわからず質問させていただきました。 ぜひともご回答よろしくお願いいたします。

  • Excel別シートに同じ値を反映させたい

    初めて質問いたします。 EXCELで見積書と別シートに商品一覧を作成しております。 商品一覧には単価、数量、合計金額で計算式を組んでおります。 商品一覧中数量を入力したものを商品名、単価、数量、合計金額として見積書に反映させたいと思っております。 同座標へは反映できるのですが、商品が数十種ある為、例えば行1と行5で数量入力した場合、見積書には行2~行4までは空白になってしまいます。この間隔を空けずに見積書に反映させることは出来るのでしょうか? ご教授いただきたくお願い申し上げます。

  • Excelの表に値を追加しても、グラフへ自動に反映されない

    Excelの表に値を追加しても、グラフへ自動で反映されないです。 調べてみたら、次のような”データ範囲”という値があったのですが、  =グラフテスト!$G$2:$G$530 例えば、531行目に値を追加しても上記値が530となっているため、 グラフには2行目から530行目しか反映されないようです。 どのようにすれば、新たに追加した行の値を自動でグラフに反映できるのでしょうか? (530の値を予め大きな値に設定するととりあえずの解決にはなりますが、 グラフの見栄えが悪くなってしまいます・・・) ちなみに、搭載メモリ2GB、CPU2GHzのVista(HomePremiumSP1)の上で、 excel2000が動いています。

  • エクセルで、フィルタでデータを抽出した値を表示させるには・・

    仕事でexcel2000を使っています。 例えば、3行目より、a列に社名 b列に番号 c列に商品名が入っているとします。オートフィルタで、番号を一つ選ぶと、社名と商品名も表示されます。その表示された社名を、1行目に自動的して表示させえるにはどうしたらよいでしょうか?(宛先としたいのです)フィルタで抽出されるデータなので、毎回、出てくる会社が違うし、手で入力するかコピーすればいいのでしょうが、処理件数が多いと面倒だったりするもので。何か、簡単に出来る数式もしくは方法があれば教えてください。 よろしくお願いします。

専門家に質問してみよう