• ベストアンサー

Excelでの処理

みなさん教えて下さい。 Aシートに 分類  日数 結果 011   45 012   21 013   10 Bシートに 分類 I  II  III  IV 011  3  7  21  21以上    0-3 4-7 8-21 21以上 というシートがあるとします。 Aシート上の011の日数が45日なのでBシートからLookupさせてIVという結果をAシートの結果という欄に表示させるような関数を組みたいのですが、教えて頂いていいでしょうか。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.10

[回答番号:No.8この回答への補足] 》 各分類で日数がIの領域になると#N/Aになります 》 再度ご確認いただけますか 「日数がIの領域になると」なんて曖昧なことでなく、SheetA に入力した具体的な「日数」を仰ってください。 「分類」が 011 のとき、入力した日数は、4未満(0、1、2、3)のどれですか? 「分類」が 012 のとき、入力した日数は、6未満(0、1、2、3、4、5)のどれですか? 「#N/A」になったときは、I領域のみでなく、他(II、III、IV)の領域でも「#N/A」になるのでは? 【お願い】私に質問させないでください。 私が確認したところでは、全領域で「#N/A」になることはありませんでした。

その他の回答 (11)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.12

Sheet1の2行目から下方にデータがあるとしてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(A2="",B2=""),"",INDEX(Sheet2!A:E,1,IF(B2<=INDEX(Sheet2!A:E,MATCH(A2,Sheet2!A:A,0),2),2,IF(B2<=INDEX(Sheet2!A:E,MATCH(A2,Sheet2!A:A,0),3),3,IF(B2<=INDEX(Sheet2!A:E,MATCH(A2,Sheet2!A:A,0),4),4,IF(B2>=INDEX(Sheet2!A:E,MATCH(A2,Sheet2!A:A,0),5),5))))))

  • xkuonx
  • ベストアンサー率41% (23/56)
回答No.11

分類が700あるとの事ですが、それにも柔軟に対応できるように修正。 ▽Sheet1 C2=IF(B2<=INDIRECT("Sheet2!B"&MATCH(A2,Sheet2!$A$1:$A$1000,0)),Sheet2!$B$1,IF(B2<=INDIRECT("Sheet2!C"&MATCH(A2,Sheet2!$A$1:$A$1000,0)),Sheet2!$C$1,IF(B2<=INDIRECT("Sheet2!D"&MATCH(A2,Sheet2!$A$1:$A$1000,0)),Sheet2!$D$1,Sheet2!$E$1))) 入力したデータは画像を参照してください。 C3~C11はC2をフィルハンドルしたものです。

回答No.9

>SheetAのC2にご回答頂いた数式を貼り付けてみましたが、#REFになります。 回答3の最後に >(式)をCtrl+Shit+Enterで入力。 と書きましたが、そのとおり入力されていますか?

noname#204879
noname#204879
回答No.8

[回答番号:No.5この回答への補足]へのコメント、 「回答」をアップした後で間違いに気付きましたが、既に貴方から素早い反応があったンですね。 当該式を次式に訂正します。 SheetA!C2: =INDEX(SheetB!A$1:E$1,MATCH(B2,OFFSET(SheetB!A$1,MATCH(A2,SheetB!A$1:A$10,0)-1,,,5),1)) 》 E2がSheetBを見に行かないといけなのが、… するどい!「分っかるかなぁ~?」なんてなコメントをしたこと、ごめんなさい。m(__)m 上に示した式ですが、私はパツイチで作成できません。種明かしをすれば、前に示した式の E2 に、実は次式を作成しておりました。お分かりですよね。 SheetA!E2: =MATCH(A2,SheetB!A$1:A$10,0) お役に立てているなら嬉しいです。

tatsuo78
質問者

補足

早速ご回答いただきありがとうございます。 またまた質問です。 各分類で日数がIの領域になると#N/Aになります。 すみません。 再度ご確認いただけますか。。

回答No.7

回答6です。 D列を修正するのではなく、E列(IVの列)を修正、に訂正します。失礼しました。

回答No.6

回答3です。 >この分類が700ほどあります。やはり関数では難しいでしょうか。。。 で、こちらが提示した方法は試されました?結果はどうでした?エラーが出たのならどういうエラーでしょう? すっきりした回答にするには、いずれにしても、シートBの条件の指定方法は変更しないといけません。 私が示した方法では、シートBのD2以下を選択して、「99999」を入力し、Ctrl+Enterすれば、簡単に修正できます。

tatsuo78
質問者

補足

ご連絡ありがとうございます。 SheetAのC2にご回答頂いた数式を貼り付けてみましたが、 #REFになります。 どこがエラーしているのかエラーの過程表示でみてみると、 最初のINDEXのところがあやしいのですがいかがでしょうか。。 すみません。

noname#204879
noname#204879
回答No.5

》 分類 I II III IV 》 011  3  7 21 21以上 上のような書き方は良くないですね。Excel的には次のようにした方が得策です。   分類 I II III IV   011  0  4  8 21 この場合、Iが 0以上 4未満      IIが 4以上 8未満      IIIが 8以上21未満      IVが21以上 という意味の参照表として使います。 それを踏まえた回答例を示しておきます。分っかるかなぁ~?(^_^) SheetB   A  B  C  D  E 1 分類 I II III IV 2 011  0  4  8 21 ← 左から 4未満、 8未満、21未満、21以上 3 013  0  11 23 38 ← 左から11未満、23未満、38未満、38以上 4 012  0  6 10 15 ← 左から 6未満、10未満、15未満、15以上 5 …  … … … … SheetA   A   B   C 1 分類 日数 結果 2 011   45 IV 3 012   21 IV 4 013   10 I 5 …   … … SheetA!C2: =INDEX(SheetB!A$1:E$1,MATCH(B2,OFFSET(SheetB!A$1,E2-1,,,5),1))

tatsuo78
質問者

補足

すみません。 上記ご回答頂いた数式をコピーしてみましたが、#REFになってしまいました。 SheetA!C2: =INDEX(SheetB!A$1:E$1,MATCH(B2,OFFSET(SheetB!A$1,E2-1,,,5),1)) E2がSheetBを見に行かないといけなのが、SheetAを見てるような気がしますが、どうやって直そうかと思っています。。 すみません。確認して頂いてもいいですか

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

こんにちは! 今回は日数だけの値で結果を返せば良い訳ですね? 一例ですが・・・ ↓の画像のように表を作ってみました。 Sheet2の2行目・3行目はデータとしては必要ないのですが、 見た目に分かりやすくするために表示してみました。 Sheet1のC2セルに =IF(COUNTBLANK(A2:B2)>0,"",INDEX(Sheet2!$B$4:$E$4,,MATCH(B2,Sheet2!$B$1:$E$1,1))) という数式を入れて、オートフィルで下へコピーすると 画像のような感じになります。 これで、日数によって表示される結果は希望に近い形になるのではないでしょうか? 以上、参考になれば幸いですが 他に良い方法があれば読み流してくださいね。m(__)m

回答No.3

Bシートの分類において、I-IIIは最大値が記入されているのに、IVだけ「21以上(22以上の間違い?)」と最小値になっています。(ちなみに、「21以上」は「22以上」でないとおかしいですね。) これは式で判定する際に大きな障害です。IVもI-IIIと同様に最大値(たとえば9999など)を入力すべきです。以下、その前提で C2: =INDEX(SheetB!$B$1:$E$1,1,MAX((INDEX(SheetB!$B$2:$E$1000,MATCH($A2,SheetB!$A$2:$A$1000,0),)<$B2)*{1,2,3,4})+1) をCtrl+Shit+Enterで入力。

tatsuo78
質問者

補足

みなさんご回答頂きましてありがとうございます。 ただ、問題が1つありまして、分類が700ほどあります。 その分類ごとに日数も変わってくるのにです。 例で書いているのは Aシート 分類   日数 011   4日 012   21日 Bシート     I  II  III  IV 011  3   7  21  21以上 012  5   9  15  15以上 という感じです。この分類が700ほどあります。 やはり関数では難しいでしょうか。。。

  • xkuonx
  • ベストアンサー率41% (23/56)
回答No.2

回答1の補足です。 BシートのセルB5は「21以上」と質問には書いてありますが、 回答1で想定しているセル内容は「21以上」ではなく「22」であるとしています。 B2=3 B3=7 B4=21 B5=22

関連するQ&A