アプリ版:「スタンプのみでお礼する」機能のリリースについて

シート① A列:生徒名記載有
     B列:好きな果物(りんごならA,みかんならB,その他ならC)を入力する作業をしています。
シート② A列:生徒番号記載有
     B列:生徒名記載有
シート③ A列:生徒番号記載有
     B列:好きな果物記載有

シート①と②の生徒名の記載行(記載の順番)、②と③の生徒番号の記載行(記載の順番)は違うため、
「検索と置換」ウィンドウを使って、
  シート②で生徒名から生徒番号を検索確認
  シート③で生徒番号から好きな果物を検索確認
  シート①のB列にシート③で確認した好きな果物A、B、Cを入力しています。  

(好きな果物というのは、あくまで例です)

対象生徒数は数千人。
現行の方法ではなく、関数を使ってシート①のB列に、A、B、Cを反映するにはどうしたらいいか教えて下さい。
エクセル初心者の為、マクロは全く分かりません。

よろしくお願いいたします。

A 回答 (3件)

こんばんは!



各シート名は「Sheet1・Sheet2・Sheet3」とします。

Sheet1に1行目は項目行でデータは2行目以降にあるとすると
Sheet1のB2セルに
=IFERROR(INDEX(Sheet3!B:B,MATCH(INDEX(Sheet2!A:A,MATCH(A2,Sheet2!B:B,0)),Sheet3!A:A,0)),"")

という数式を入れフィルハンドルでダブルクリックではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
お礼が遅くなりました。
勉強不足のため、教えて頂いた数式の内容がもう一つ理解できません。
ですが、数式をこのまま入力することにより、こちらの希望通りできました。

お礼日時:2019/12/07 16:08

Excel2013ならクエリが使えます。


シート②とシート③でそれぞれクエリを作成して 生徒番号基準で
結合してやれば シート①のデータは勝手に作成されます。

シート③に入力しているのが記号ではなく果物名だった場合はカ
スタム列の追加が必要ですが 数式だけでやるよりは断然ましかと
思います。

> エクセル初心者の為、マクロは全く分かりません。
マクロ以外なら分かるのでしょうか。 ピボットテーブルのリレー
ションシップを使ってもできるかと思います。 SQLでもできます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
色々なやり方があるのですね。
参考にさせていただきます。

お礼日時:2019/12/07 16:09

No.1です。



投稿後気づきました。
Sheet1のB列に表示するのはSheet3のB列データではなく、
Sheet3のデータの各区分(A・B・C)の表示なのですね。

一気に!となると相当長い数式になりますので、二段階にしてみてはどうでしょうか?
前回のB列データはそのまま残し、C列に表示する方法です。
B列の数式はそのままでC2セルに
=IFERROR(INDEX({"A","B","C"},MATCH(B2,{"りんご","みかん","その他"},0)),"")

という数式を入れフィルハンドルでダブルクリック!

※ B列が目障りであれば非表示にしてください。

※ 質問文では区分けは三つだけですが、実際はもっと多いのでは?
そうであれば表を作成し、その表を参照する方が簡単だと思います。m(_ _)m
    • good
    • 0
この回答へのお礼

追加の回答ありがとうございます。

お礼日時:2019/12/07 16:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!