• 締切済み

エクセルの表

添付のようなExcelを作っています。 B2セルに1~20を入力すると、E2セルに1~20の数が入っているA列のアルファベットが出力されるようにしたいです。ちなみに、実際は数字ではなく文字を入力します(田中・佐藤など) 1,6,11,16=A 2,7,12,17=B 3,8,13,18=C 4,9,14,19=D 5,10,15,20=E という具合です 過去の質問などを見返してもわかりませんでしたのでどなたか教えてください。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 表内に重複はない!という前提で。 画像の配置ですと、E2セルに =IF(B2="","",IF(COUNTIF(B4:E8,B2),INDEX(A4:A8,SUMPRODUCT((B4:E8=B2)*ROW(A1:A5))),"該当なし")) という数式を入れてみてください。 ※ 数式内の >ROW(A1:A5) はINDEX関数で範囲指定した行数分を必ず1行目から指定してやります。 アップされている画像ではA列の4行目~8行目がINDEX関数の範囲ですので、 その5行内の何行目かにB2セルデータが存在するか?という意味です。m(_ _)m

  • shorun
  • ベストアンサー率42% (133/310)
回答No.3

E2セルに次の式をコピーしてください。 =IF(B2="","",IF(B2>20,"エラー",IF(MOD(B2,5)=1,"A",IF(MOD(B2,5)=2,"B",IF(MOD(B2,5)=3,"C",IF(MOD(B2,5)=4,"D","E"))))))

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>B2セルに1~20を入力すると、E2セルに1~20の数が入っているA列のアルファベットが出力されるようにしたいです。 >過去の質問などを見返してもわかりませんでしたのでどなたか教えてください。 例題の元データ(添付画像)で説明します。 参照範囲(B4:E8)の中に参照値(B2)がどの行に有るかを検出して、その行のA列の値をE2セルへ返します。 そのためにはSUMPRODUCT関数を使って参照範囲の配列値の合計を算出します。 前処理として、配列値=(B4:E8=B2)*ROW(A4:A8)を行うと1つのセルのみが値を返しますので合計値=目的値となります。 E2=INDEX(A1:A8,SUMPRODUCT((B4:E8=B2)*ROW(A4:A8))) 参照範囲は実際のテーブルに合わせて変更してください。

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

F4セルに以下の式を入れて、F8セルまで、下にドラッグコピーする。 =A4 E2セルに以下の式を入れる。 =IF(ISNA(VLOOKUP(B2,B4:F8,5,FALSE))=FALSE,VLOOKUP(B2,B4:F8,5,FALSE),IF(ISNA(VLOOKUP(B2,C4:F8,4,FALSE))=FALSE,VLOOKUP(B2,C4:F8,4,FALSE),IF(ISNA(VLOOKUP(B2,D4:F8,3,FALSE))=FALSE,VLOOKUP(B2,D4:F8,3,FALSE),IF(ISNA(VLOOKUP(B2,E4:F8,2,FALSE))=FALSE,VLOOKUP(B2,E4:F8,2,FALSE)))))

関連するQ&A