大変お世話になっております。
メインシートである 【Sheet1】のセルB2に、このような数式が入っております。
=IFERROR(INDEX(Sheet2!$B$1:$B$9,MATCH(J2,Sheet2!$A$1:$A$9,FALSE)),"")
上記に加えて【Sheet1】のセルB2に数式を追加したいです。
Sheet4に3列の値があります。
【Sheet4】
A列 B列 C列
1 項目 コード1 コード2
2 外国語教育 800 50
3 科学教育 950 60
4 数学教育 1000 30
【Sheet4】のA列(項目)にある値を、メインシートである 【Sheet1】のB列に返したいです。
メインシートである 【Sheet1】のX列にコード1(【Sheet4】のB列)、【Sheet1】のAC列にコード2(【Sheet4】のC列)が入っており、この値を「コード1『且つ』コード2」を条件としたいです。
お時間を頂きまして大変恐縮ですが、ご回答を心よりお待ちしております。
どうぞ宜しくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
前回のご質問者の質問に回答したものです。
前回と似たようなご質問ですが、状況が変わったということでしょうか?
>上記に加えて【Sheet1】のセルB2に数式を追加したいです。
と言われても前回の質問を知らない人には何のことか判らないと思います。
追加したいという以上、優先順位は元の数式が優先するとして、
「現在の数式で空白が返る条件のとき、【Sheet4】のA列(項目)にある値を、【Sheet1】のB列に返すという数式を追加したいです。」
と解釈しました。
これも前回の回答と同じくIFERROR(INDEX~(MATCH(~)),"")という数式を「入れ子」にすればよい話だと思います。
添付画像をご覧ください。前回回答と同様です。
ご質問者が掲示した数式は、
=IFERROR(INDEX(Sheet2!$B$1:$B$9,MATCH(J2,Sheet2!$A$1:$A$9,FALSE)),"")・・・(a)
ですが、画像①は数式(a)のとおり、「sheet1のJ2と同じ値をsheet2にある表のA列から探して、見つかったらその表の同じ行のB列の値を表示し、見つからなかったら「空白」を表示する」という状態を示しておいます。
とりあえず数式(a)に使うsheet2の表は画像③のように「ひらがな(あいうえお・・・)」を「アルファベット(ABCDE・・・)」に置換するという単純なものにしてあります。従ってJ2に「あ」がある場合、B2に「A」が表示されます。
また、
>【Sheet1】のX列にコード1(【Sheet4】のB列)、【Sheet1】のAC列にコード2(【Sheet4】のC列)が入っており、この値を「コード1『且つ』コード2」を条件としたいです。
とのことなので、画像④のようにsheet4に項目とコード1、コード2の一覧表があるものとします(とりあえず9行目までとしています)。
画像②のように、シート1のB2に
=IFERROR(INDEX(Sheet2!$B$1:$B$9,MATCH(J2,Sheet2!$A$1:$A$9,FALSE)),IFERROR(INDEX(Sheet4!$A$2:$A$9,MATCH(Sheet1!$X2&Sheet1!$AC2,INDEX(Sheet4!$B$2:$B$9&Sheet4!$C$2:$C$9,0),FALSE)),""))
という数式を記述します。
この数式のポイントは「INDEX(Sheet4!$B$2:$B$9&Sheet4!$C$2:$C$9,0)」の部分で、MATCH関数の検索範囲を「INDEX関数を使って結合文字の配列にする」というところです。
これで、添付画像②のようにJ2にカタカナ(画像③のA列に存在しないもの)を入力すると、X列とAC列の値に従って、B2にsheet4の項目である「科学教育」が表示されることが判ります。
但し、上記数式が有効となるには前提条件があります。それは、「コード1とコード2を結合したとき、必ずユニークなものになる」というものです。
例えばコード1が「50」コード2が「110」だと結合結果は「50110」になりますが、コード1が「501」コード2が「10」でも結合結果は「50110」となり両方とも同じになってしまいユニークになりません。
このようなケースでは上記数式は正しい結果を返しません。
goomania様…!
大変お世話になっております。
お休みの所、ご連絡とご回答を下さいまして本当に有難うございました…!
今、goomania様の数式を該当セルに入力をさせて頂いた所、すぐに反映することが出来ました…!!
この度も素晴らしい数式をご提示下さいまして、また大変解り易い図も作成して頂きまして、心より感謝申し上げます…!
最初のご回答者様が goomania様でしたので、ご親切な方に出会う事が出来まして、そして2回目にもご回答を下さいまして深く感謝申し上げます…!
いつも本当に有難うございます!!
>追加したいという以上、優先順位は元の数式が優先するとして、
「現在の数式で空白が返る条件のとき、【Sheet4】のA列(項目)にある値を、【Sheet1】のB列に返すという数式を追加したいです。」
と解釈しました。
有難うございます…! その通りです!!
>この数式のポイントは、MATCH関数の検索範囲を「INDEX関数を使って結合文字の配列にする」というところです。
『結合文字』を使う事、理解致しました…! お教え下さいまして、本当に有難うございます…!!
>例えばコード1が「50」コード2が「110」だと結合結果は「50110」になりますが、コード1が「501」コード2が「10」でも結合結果は「50110」となり両方とも同じになってしまいユニークになりません。
このようなケースでは上記数式は正しい結果を返しません。
事前にご注意を下さいまして有難うございます! 組み合わせを再度確認し、そのようなケースには工夫致します…! 数式で手入力のエラーが判明したり、また逆の場合もあるため、注意を致します…。何から何まで本当に有難うございます!!
実は、最初に質問で提示させて頂いた数式と、前回 goomania様がお教え下さいました数式と、そして今回 goomania様がご教授下さいました数式とこの3数式をB列に反映したいのです…。
都合上、列の追加が出来ないため、様々な条件をこのB列に加えています…。
条件の整理をし、どうしても出来ない場合はまた質問をさせて頂きます…。
この度はご親切と大切なお時間を頂戴致しまして本当に有難うございました!
感謝の気持ちで一杯です…!!!
大変恐縮ですが、引き続きどうぞ宜しくお願い申し上げます…!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
【Excel VBA】PDFを作成して,...
-
Excel テーブル内の空白行の削除
-
エクセルでXLOOKUP関数...
-
Microsoft Formsの「個人情報や...
-
マイクロソフト 一時使用コード...
-
Excel2019と365、2021
-
VLOOKUP関数について
-
Microsoft Officeを2台目のPCに...
-
Excelのセルの重複チェックが出...
-
会社PCのメールが更新されない
-
PCを買い換えました。 今使って...
-
office2016のパソコン2台インス...
-
【スプレッドシート】白色のセ...
-
大学のレポート A4で1枚レポー...
-
Excel VBA 日程表からスケジュ...
-
時間の平均値を計算する方法を...
-
Microsoft365で写真をアルバム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報