• ベストアンサー

VLOOK関数と表引きについて

VLOOK関数と表引きについて 下のような住所管理をエクセルでしています。 上段がデータベースで、下段が変更後の送付先一覧です ここでしたい処理が、住所変更届けが出ている人は 変更後の住所をB2に入れたいのです。 そのチェック方法をCOUNTIF関数やVLOOKUP関数で処理したいのです。 出ていない人はそのままの住所をいれたいのです。 変更が出ているかのチェックの関数がうまく 使えないので、教えてください。 関数初心者なので、お願いします。

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

B2=IF(COUNTIF(Sheet2!A:A,B1),VLOOKUP(B1,Sheet2!A:B,2,FALSE),VLOOKUP(B1,D:E,2,FALSE))

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

その他の回答 (3)

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

データ実例を質問異書かずに質問しているから内容がわかりにくい。ぜひ書いて質問して。 B2になぜ入れるのか不明。A2に人の名でも入れるのか。A2の氏名に対応した住所でもB2に出すのか。 聞くまでも無く、変更届の記録されているセル範囲の氏名列を対象にCOUNTIF関数で、その氏名が存在するかどうかを聞き(IF関数で判別すると言うこと)1であれば、変更届の部分で氏名でVLOOKUUP関数を使い住所などをB2に持ってくる。 VLOOKUP関数を使うなら、下の部分に氏名が存在しない場合は、エラーになるからISERROR関数で聞いて判別する。 なければ(COUNTIFで0なら)、上の部分の住所録でVLOOKUP関数で、氏名で引いて住所をB2に持ってくる(B2に式を入れるということ) この質問の場合、索引する表が2つあり(ここが特殊)、それをIF関数で判別するだけのはなし。 変更届が同一人で2件出ていると上記の考えは破綻する。VLOOKUPは最初のものしか見つけられない。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 変更後の送付先リストが存在しているSheetのSheet名が不明なため、ここでは仮にSheet2だとします。  送付先を自動的に表示させるセルには、次の数式を入力されると、良いと思います。 =IF(OR($B$1="氏名",COUNTIF($C:$C,$B$1)=0),"該当無し",VLOOKUP($B$1,IF(COUNTIF(Sheet2!$A:$A,$B$1)=0,$C:$D,Sheet2!$A:$B),2,0))

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

変更届のシートがSheet2だとして =IF(ISNA(VLOOKUP(B1,Sheet2!A:B,2,FALSE)),IF(ISNA(VLOOKUP(B1,C:D,2,FALSE)),"",VLOOKUP(B1,C:D,2,FALSE)),VLOOKUP(B1,Sheet2!A:B,2,FALSE)) でいかがですか

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

関連するQ&A

  • VLOOK関数で作った請求書で、¥が表示されない

    請求書の元になる一覧表では数字に¥や,がついています。 その金額をVLOOK関数で作った請求書に入れてると通貨表示のないただの数字になってしまいます。それで、請求書の金額のセルを金額表示(¥や,のある)にさせようと、「通貨」でいろいろ試しているのですが、全く変更できません。セル内は、例えばこんなふうになっています。 =VLOOKUP(I4,Sheet1!A2:BH799,37,FALSE)&"" VLOOK関数を入れないセルの数字は、金額表示にすぐできます。 どうしたらいいのでしょうか。宜しくお願い致します。

  • ピボットテーブルと表引き

    エクセル2007初心者です。 今、練習用に販売データベースを作成し、 さらにそれを元にピボットテーブルを 作りました。 下の画像上段が、販売データのピボットテーブルです。 下段が新たな販売集計表です。 新たな集計表を作る理由は、ピボットテーブルはレイアウトが悪く 見にくいので、それを元に新たな表を作りたいのです。 INDEX関数とMATCH関数で作りたいのですが、そもそも ピボットから表引きなどできるのでしょうか。 日付と販売地(東京、大阪、愛知)、さらに返品の 有、一部有、無をもとに当てはまる数字をほり込んで行きたいのですが。 よろしくお願いします。

  • Excelの関数で、このようなことができたら教えてください。

    ExcelのVLOOKUP関数を知っているので、使っていたのですが、今回はうまく答えを導くことができません。 VLOOKUPで説明すると、「範囲」にあたる表の一番右に「検索値」があるのです。 この場合、VLOOKUP関数だと答えを出せませんが、ほかにどのような関数がありますか? 質問の内容がわからなかったら聞いてください。 よろしくお願いします。 <念のため補足しておきます> 顧客名/住所/TEL/顧客コード の順に並んでいる表(データベース)を元に、 別の場所に「顧客コード」をキーに、顧客名・住所・TELを参照したいということです。 もとのデータベースのフィールドの並びを変更することはできません。 以上

  • エクセル関数

    エクセル初心者です。 今、下の画像(上段)のような データベースを作りました。 ここにある日付を古いもの順に 下段の画像のような形に したいのですが、IF関数がうまく使えず 困ってしまいました。 どうすれば、日付順番に並ぶのでしょうか。 教えてください。

  • 同一データの表引き(VLOOKUP)関数について

    同一データの表引き(VLOOKUP)関数について いつも皆様の回答を参考にしております。 エクセルの表引き関数につきまして、お教えください。 同一の検索値が何行か存在するデータ内から、 開始年月~終了年月の間の月を検索し、表引きすることは可能でしょうか? 年間の業務端末使用料の担当者ごとの集計が必要で、 退職・入社等で担当者が変わったりということが頻繁にあり、(でも、過去のデータとして必要なので、データ表から削除が出来ない状態です。 利用月・番号から担当者を検索したいのですが、 現状、年初に登録した表と、変更のあった場合の表をIFで分けて検索させています。 この状態ですと、担当者が何度も変わってしまう番号の検索が出来ません。 出来れば、検索の表を分けずに(下方向へ入力すれば、開始~終了の日付で検索行を判断する・・・)ような計算式があればご教授ください。 開始日でmax、index等使えば可能かと四苦八苦してみましたが、どうしてもうまくいかず 皆様のお知恵をお貸しいただければと思い 質問いたしました。

  • エクセル VLOOP関数

    エクセル初心者です。 エクセル2003を練習中なのですが 今、下画像の上段のようなデータのシートを作成しました。 シートは左の日付を3行セル結合しています。 このシートのデータを、画像下段の表のように 関数で表引きしたいのです。 下段の表は、左の日付を2行セル結合しています。 関数(VLOOPUP関数とINDEX関数)の使い方が、今一つ分かりませんでした。 どんな数式を入力していけばいいのでしょうか。 お願いします。

  • 表からの合計

    お世話になります、集計についてお教えください。 上段のような表があります。そしてこれを下段のような数字を合計した表に組み替えたいと思います。 この下段の表の黄色い部分に入れる数式を考えています。 上段の表に合計を示す行と列を挿入すればsumifを活用することで出来るかと思うのですが、できれば上段の表は生データとして触らないようにしたいのです。 また、実際のデータはかなりの行と列の数となっており、構成要素も多岐にわたるので手作業を加える相対参照などは避けたいと思っています。 加えて、今後の活用の点からもピボットなどの機能ではなく、関数を組み合わせた数式で処理したいと思っています。 どのようにすればよいかお教えくだされば幸いです。 A A B B あ 1 2 3 4 あ 5 6 7 8 い 9 10 11 12 い 13 14 15 16 い 17 18 19 20 A B あ い

  • if関数とVLOOKUP関数について

    if関数とVLOOKUP関数について エクセル2003で以下のような表を2枚 (シート1とシート2です)作成しています。 上段がシート1で、左上「NO」からA1セルに なっています。 下段がシート2で、特別番号が付番される 人の対象者リストで、「氏名」 がA1セルです。 図が乱れてすいません。 シート1のB列の売上日、C列の氏名は 別ファイルから貼り付けています。 シート2は、特別番号を付番する人の 氏名リストですが、ここでは、便宜上 小文字のアルファベットにしています。 ここでしたい処理ですが、売上日及び氏名を シート1に貼り付けた際に、特別番号対象者 (シート2のリストに挙がっている人) が入ってきたとき、自動的にシート1の A列のNOの列に「特別番号」 との文言を表示させたいのです。 実際に数字を表示するのではなく、 「特別番号」の文字列を表示させたいです。 IF関数とVLOOKUP関数でできると思うのですが よくわかりませんでしたので、教えてください。 NO 売上日 氏名 1 1月1日 A 2 1月2日 B 特別番号 1月3日 a 特別番号 1月4日 b 特別番号 1月5日 c 3 1月6日 D 4 1月7日 E 特別番号 1月8日 e 特別番号リスト(シート2) 氏名 住所 a 東京都 b 大阪府 c 神奈川県

  • OLが知ってて当たり前の関数

    私は派遣社員のOLで、今まで1社で5年勤めて 今月から新しい会社に勤めてるのですが エクセルの関数でSUMPRODUCT関数と言うのを今まで知りませんでした。 前の会社で使う必要が無かったので知らなかったのですが それに対して教えてくれる人に 「そんなの知らないでよくOLやってたね」と言われてしまいました。 普通のOLはエクセルの関数をどのくらいまで知ってるものなのでしょうか? VLOOKUPとかCOUNTIFは 前の会社で使う機会が多かったから知ってました。 SUMPRODUCTを始め、知らない関数が多いので家で学習しようと思うのですが 関数はたくさんありすぎてどこまで覚えればいいのかわからないので、重要なのを教えてください。

  • VLOOKUP関数の範囲を自動変更させる

    VLOOKUP関数の範囲を自動変更させる データベースをエクセルで作成し下方に1行づつ増やすしていきたい。 VLOOKUP関数の(検索値、範囲、列番号、検索方法)の内で、範囲の設定部分を超えるとVLOOKUP関数の結果が合わなくなってしまします。 EXCEL2007では、テーブルとして書式設定を選びそれを範囲に選ぶか或いは名前付き定義を付けると範囲が自動で増えるのですが、同じことをEXCEL2002と2003でもできるようにはならないでしょうか?

専門家に質問してみよう