• ベストアンサー

【Excel】関数を教えて下さい

添付画像のセルC3~C5に左表E列の「記号」を出したい場合、どのような関数を使用すればよろしいのでしょうか? VLOOKUPのような関数とは思うのですが・・・

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

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

ゼロを探す必要があるので,そこだけ一工夫が必要ですね。 C3: =IF(COUNTIF($F$3:$H$7,B3&"")=1,INDEX(E:E,SUMPRODUCT(($F$3:$H$7&""=B3&"")*ROW($F$3:$H$7))),"") 以下コピー #ただし対照表は生データで記入している場合。

KO1014
質問者

お礼

ご回答ありがとうございました。 できました!! しかし・・・まさか4つの関数を使用しなければならないとは思ってもみませんでした。「COUNTIF」「INDEX」「SUMPRODUCT」「ROW」どれも使用したことのない関数なので、どのような役割をするのはまったく理解できません。 ここまで複雑な関数をパッと思い浮かべることができるまでの知識を身に付ける事は不可能ですが、もっと数多くの関数を使える努力はしようと思います。

その他の回答 (5)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 回答番号:ANo.5です。  申し訳御座いません、先程の回答の数式中に一部、入力の際の打ち間違いが御座いました。 【誤】 =IF(OR($B3="",COUNTIF($F$3:$H$7)=0),"",INDEX($E:$E,SUMPRODUCT(ROW($E$3:$E$7)*(COUNTIF(OFFSET($E$2,ROW($E$3:$E$7)-ROW($E$2),1,1,COLUMNS($F:$2)),$B3)=1)))) 【正】 =IF(OR($B3="",COUNTIF($F$3:$H$7)=0),"",INDEX($E:$E,SUMPRODUCT(ROW($E$3:$E$7)*(COUNTIF(OFFSET($E$2,ROW($E$3:$E$7)-ROW($E$2),1,1,COLUMNS($F:$H)),$B3)=1))))

KO1014
質問者

お礼

再度のご回答ありがとうございました。 No.1・No.2の方と同じような数式ですが、新たな関数が2つ出てきましたね。 ですが、直していただいた数式も「足りない引数が入力されています」というエラーが出て貼り付けることができませんでした。 本当はご回答いただいた方全員をベストアンサーに選びたいのですが、ベストアンサーは回答の早かったNo.1の方にさせていただきます。申し訳ありません。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 まず、C3セルに次の数式を入力して下さい。 =IF(OR($B3="",COUNTIF($F$3:$H$7)=0),"",INDEX($E:$E,SUMPRODUCT(ROW($E$3:$E$7)*(COUNTIF(OFFSET($E$2,ROW($E$3:$E$7)-ROW($E$2),1,1,COLUMNS($F:$2)),$B3)=1))))  次に、C3セルをコピーして、C4~C5に貼り付けて下さい。  以上です。

KO1014
質問者

お礼

ご回答ありがとうございました。

  • root_16
  • ベストアンサー率32% (674/2096)
回答No.4

0 E 1 A 2 B 3 A 4 B 5 A 6 C 7 C 8 D 9 D 検索用にはこういう表を用意するのが 物事を簡単にして楽する方法です。 VLOOKUPでできます。

KO1014
質問者

お礼

ご回答ありがとうございました。 当初はご回答のようなやり方で運用していたのですが、思った以上に記号・数字が増えてしまいかなりの行数になってしまいました。このファイルは共有で使用しているためAccessに変更することもできません。 記号・数字も画像のような簡単なものではなく、実際はもっと複雑で桁数が多いのです。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.3

数字が最大で何列になるのか解りませんので、3列ぐらいでしたら、 H列,I列にVLOOKUP用のデータ表をコピー&ペーストで作って、C3セル=VLOOKUP(B3,I:J,2,FALSE)にして、 C3セル=VLOOKUP(B3,I:J,2,FALSE)にしてはいかがでしょう。 A B C D E F G H I 数字 記号 記号 数字1 数字2 数字3 数字 記号 1 A A 1 3 5 1 A 7 C B 2 4 2 B 0 E C 6 7 6 C D 8 8 8 D E 0 0 E 3 A 4 B 7 C 9 D 5 A

KO1014
質問者

お礼

ご回答ありがとうございました。 う~ん・・・理解できなくて申し訳ありません。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 =IF(B3<>"",INDEX($E$3:$E$7,SUMPRODUCT(($F$3:$H$7<>"")*($F$3:$H$7=B3)*ROW($F$3:$F$7))-2),"")を入力、下方向にコピー

KO1014
質問者

お礼

ご回答ありがとうございました。 できました!! No.1の方と同じような数式ですね。 本当はご回答いただいた方全員をベストアンサーに選びたいのですが、ベストアンサーは回答の早かったNo.1の方にさせていただきます。申し訳ありません。

関連するQ&A

専門家に質問してみよう