• ベストアンサー

Excel 表と参照して一致したら行の最左を表示

エクセルについて教えてください。 A 01 02 03 04 05 B 06 07 08 09 10 C 11 12 13 14 15 のような表と、セルの値を照合して、元の値が 03ならA 10ならB 11ならC と表示させたいのです。 縦2列の表に作り変えればVLOOKUP関数でできるとおもいますが、このままの形でやりたいのです。方法をご存知でしたら教えてください。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

検索する数値に重複がない場合は以下の式で可能です。 この式ではH1セルに検索値があることにしています。また検索値に合致するセルがない、もしくは2つ以上ある時は空白を表示しています。 =IF(COUNTIF(B1:F3,$H$1)=1,INDEX(A:A,SUMPRODUCT((B1:F3=$H$1)*ROW(B1:F3))),"")

noname#40784
質問者

お礼

重複はないのでこのやり方でバッチリできました。どうもありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

A8に1-15の値があるとして =INDEX($A$1:$A$3,SUM(IF(B1:F3=$A$8,ROW(B1:F3),0))) と入れてSHIFT,CTRL,ENTERを3つ同時押しする。配列数式 結果 A8 が 3の場合 A あり場所は 行は =SUM(IF(B1:F3=$A$8,ROW(B1:F3),0)) SHIFT,CTRL,ENTERを3つ同時押しする。配列数式 列は =SUM(IF(B1:F3=$A$8,COLUMN(B1:F3),0)) SHIFT,CTRL,ENTERを3つ同時押しする。配列数式 ーー SUMの部分はSUMPRODUCTでもできる。 =INDEX($A$1:$A$3,SUMPRODUCT((B1:F3=$A$8)*ROW(B1:F3)))

noname#40784
質問者

お礼

ありがとうございます。教えていただいた方法でできました。 SHIFT,CTRL,ENTERを3つ同時押しで{}をつける技は初めて知りました。

全文を見る
すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。重複があってもできるようにしました 重複する「最小の行」の値を表示する式 =IF(COUNTIF(B1:F3,H1)>0,INDEX(A:A,LARGE(INDEX((B1:F3=H1)*ROW(B1:F3),),COUNTIF(B1:F3,H1))),"") 重複する「最大の行」の値を表示する式 =IF(COUNTIF(B1:F3,H1)>0,INDEX(A:A,MAX(INDEX((B1:F3=H1)*ROW(B1:F3),))),"")

noname#40784
質問者

お礼

再度の回答ありがとうございます。今回は必要なかったですが、勉強になります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 入力規則に関するエクセル表の質問です

    エクセルの表においてB列の各セルが入力規則で4項目をプルダウンで選択表示できるようになっています。それを例えばA,B,C,Dとします。その各項目には小項目として10個づつあります。 この小項目を隣のC列へ入力規則のプルダウンにより選択表示する場合、40個のなかから選ぶこととなり検索に手間がかかります。そこで、例えばB5セルでAと選択した場合、C5セルではAに該当する10項目のみをプルダウン表示することができないかと考え、入力規則の「元の値」の窓にVLOOKUP関数を入れて試したのですが反応がありませんでした。よい方法がありましたらご教授下さい。

  • 複数条件での値参照をする関数

    Excel2007を使っています。 以下のような表があります。 店番  月度  個数 111     4    1 111     5    0 113     4    0 112     4    1 113     5    2 別のシートに以下の表があります。 店番  4月個数  5月個数 111 112 113 この4月個数の列と、5月個数の列に関数で値を参照させたいと思います。 店番をA1セルとすると、B2セルには店番が111の4月の個数を表示させたいです。 B2に =IF(ISERROR(VLOOKUP(A2,元!A:B,2,0)),"",IF(VLOOKUP(A2,元!A:C,2,0)<>4,"",VLOOKUP(A2,元!A:C,3,0))) C2に =IF(ISERROR(VLOOKUP(A1,元!A:B,2,0)),"",IF(VLOOKUP(A1,元!A:C,2,0)<>5,"",VLOOKUP(A1,元!A:C,3,0))) このような式を入れると、4月か5月どちらか上に書いた方しかデータが表示されませんでした。 更新ボタンやトリガーを使わずにできるといいので、ピボットやVBAではなく関数でやりたいと思っているのですが、どのようにすれば良いか分かりません。 使える関数があれば、ぜひ教えて下さい。

  • Excelで範囲検索

    今EXCELにこのような表があります。 名前 点数 日付け   A  20  200702  B  10  200701  C  30  200612   :  :  : セルA1に200001 セルA2に200712 と値を入れると日付けがその間(200001~200712)にある行だけを表示するようにしたいです。 VLOOKUP関数だと日付けが一つしか取れないですし、列も1つしか表示させることができません。

  • エクセルでの表の作成

    今、エクセルの表で、A1からA100まで、1~100の連続した数字が入っています。C列のC1~C8には、任意の数字を入れます。 その際、C列に在る数字と同じ数字が在るA列のセルの右のセル(B列)に、自動的に○を、無ければ×と表示されるようにしたい、と思います。 次のような形です。  A列      B列       C列    1       ×       3 2          ×        6 3          ○        7 4         × 5         × 6        ○ 7         ○ 8         × 9         × 10         × ・    ・   ・   これを可能にする関数をご教示ください。

  • (エクセル)表から1列の別表をつくりたい。

    表に入力されたものを1列に並び替えをしたいのです。(エクセル関数) エクセルの表から、セルに入力された情報を抜き出し、並び替えたいのですが、行き詰ってしまい質問させていただきます。 (やりたいこと) 添付資料のように、事業所ごとに購入した物品が日付ごとに入力されていきます。この表を一列で並び替えることを したいのですが、現状の表の形で1列に抜き出すやり方が思い浮かびません。ひとつずつリンクを設定していけばいいですが、 それですと、空白のセルができてしまうこともあり、空白を消すためにフィルタをやらなくてはいけず、なんとか関数でどうにかできないと質問させていただきました(つまり空白のセルは飛ばし、隙間のない1列の表に変換したいです)。 (試したこと) (1)vlookup関数を使うために、日付の横に検索列を作ってもみましたが、同じ行に複数の抜き出すべくものがあると、 if関数のネストをいれるにも「if(c5="","",vlookup(v5,b5:r10,2,fasle)」みたくやってみましたが、c5までは取り出せても、 d5,e5,f5・・・と右にずらしていく関数式が思い当たりません。 (2)種類、数量データ入力されている全てのセルの横に(1.2.3.4.5.6.7.8.9.・・・)と数字をいれて検索列をつくり、vlookupとmatch関数の 組み合わせも試しましたが、vlookup関数の性質上、複数列に検索値(「vlookup(検索値,範囲,列番号,検索の型)」)が存在しているとこれも出来ず。 説明が不十分な点もあると思いますが、よろしくお願いいたします。もし、VBAでなければ難しいとのことでしたら、どのようなVBAを組めばいいかもお願いいたします。

  • excelのVLOOKUPで、照合後、値を表示

    VLOOKUP関数を利用して、商品送付後の入金管理を行いたいと思っています。 送付済(シート1) A列:名前  B列:金額  C列:名前&金額  D列:送付日  E列:     F列: 入金済(シート2) A列:名前  B列:金額  C列:名前&金額  D列:回収日  E列:入金日   「名前と金額が検索値と一致したら、送付済(シート1)のE,F列に、回収日と入金日を表示させる」ようにしたいです。 VLOOKUP関数では、二つの値の照合は出来ないとの事でしたので、C列=名前&金額をいれて、C列での照合をしたいと思っています。 照合後に、回収日と入金日を表示させる関数が分かりません。 ※照合後に値が無い場合は、エラーでなく空白で表示させたいです。 よろしくお願いいたしますm(__)m

  • Excel 別々のBookの照合と値の返し方

    いつもお世話になっております。 質問するカテゴリを間違えてしまったので、重複してしまい申し訳ありません。 エクセルのデータで別々のBookの照合をしたいと思い、VLOOKUPで試しましたが、上手くできませんでした。。。 画像を添付しましたので、それにそって質問したいと思います。 (1)Book1のB列に式を入れたい。 (2)Book1のA列とBook2のA列の照合を行いたい。 (3)同じ内容なら、その隣のセル(Book2のB列に入っている値)を(1)に表示させたい。 というものです。この場合どのような関数式を入れたらよいのでしょうか。 以上、宜しくお願い致します。

  • エクセルの関数について

    Windows Xp エクセル2003を使用しています。 業務で使用している集計表ファイルがあり、別ファイルにデータを反映させたいのです。 集計表のセルA1を検索値としセルB1とセルB2の値を返す関数はないでしょうか? 集計表のつくりは約1000行あり、セルA3を検索値としてセルB3の値を返す行もあります。 セルA5を検索値とし、B5、B6、B7、C5,C6の値を返す行など様々です。 こういったデータがランダムで表になっています。一つの検索値に対して、検索値の水平方向はvlookup関数で表示出来たのですが、 一つの検索値で2つの値を返す関数が分からず、困っています。 1行下や2行下を検索する関数も参考にしたのですが、集計表のつくりがランダムの為、検索してほしくないものまで表示されてしまうなど、ウマクできませんでした。 宜しくお願いします。

  • エクセルの VLOOKUPで2番目の結果を参照

    先日ここで同じ質問をさせてもらって、その時にCOUNTIFを使う方法を教えていただいてこの方法なら何番目の値でも簡単に指定できると思い実際に試してみたのですが当初は2つ目までしか考慮していなかったのですが、シートによっては同じ値(A123)が2回以上入力されるケースもあることがわかりました。 そこで<表ー1>のC8にABC123と入力されたら左の列にC8&COUNTIF関数で何番目のABC123かを表示させて、この末尾2のセルの3列目(X123)を<表ー2>の該当する品名の横に表示させたいのです。 添付の場合A123の横にX123と入るようにしたいのです。 A123が2回しか出てこないなら、VLOOKUPで簡単に検索できそうなのですが、それ以上出てくることもあるのでハタと困ってしまいました。 ちなみに、VLOOKUP(F3&COUNTIF( ),B:D,3)のような使い方はできないのでしょうか? 上記の使い方ができなければ、表ー2にも補助カラムを追加してB列と同じ内容にすることは可能です。

  • Excel 関数 列内の文字を参照し隣列の値を返す

    Excel2003です。 関数を使ってみたのですが、思うようにいきません。 C列を参照し、「みかん」という言葉があれば、そのセルの隣の列の値(D列の「B」)を、A1に表示したいです。 最初は、VLOOKUP関数を使えばいいと思っていましたが、「検索値」というものがはっきりしない為、使用できない?のでしょうか? 「みかん」という単語を探し出すには「COUNTIF」でしょうが、その関数では、直接その値を返すのみなので、何かの関数と組み合わせるのか、それとももっと良い関数があるのでしょうか? なお、C列に「みかん」という単語は一度しか登場しない為、列内に複数「みかん」が存在している場合にの対処法は、不要です。単純に、「みかん」の値の2列目だけをA1セルに表示させたいのです。

このQ&Aのポイント
  • 育毛を促進するためには、毛穴の汚れを取ることが重要です。そのため、毎日髪を洗うことは有効です。
  • しかし、頭皮や髪を過剰に洗うことは逆効果になる可能性もあります。過度な洗浄は頭皮の油分を奪い、乾燥や刺激を引き起こすことがあります。
  • 育毛を目指す場合は、適度な頻度でシャンプーし、頭皮や髪を優しく洗うことが大切です。また、洗浄力の強すぎないシャンプーを選ぶことも重要です。
回答を見る

専門家に質問してみよう