• ベストアンサー

エクセル・区間を含む複数条件から該当する値を返す。その2

材質(3種類)、容積(7種類)ごとに異なるレート(売りと買い2種類)を、材質、容積を指定することによって導き出す方法をご教授願います。 http://oshiete1.goo.ne.jp/qa4820850.html?ans_count_asc=1 過去の質問を調べたところ上記が類似していたので、その中にある_Kyle様の回答を見ながら自力で作成してみましたが材質(列で展開)は指定どおり飛んでいきますが、容積(行で展開)が最上段のまま飛んでいかない状態です。 詳細は以下の図をご覧ください。 SHEET1は、レートの表です。     A  B  C  D  E  F G 1 材質A 材質B 材質C 2 容積   buy sell buy sell buy sell 3  0.00 100 120 110 130 120 140 4  0.81 5   1.01 6   2.01 7   3.01 8   4.01 9   5.01 10  6.01 容積は、0~0.8m3の場合が3行目、0.81~1.00m3が4行目になっています。 SHEET2は、材質、容積を入力してレートを出すものです。   A   B  C  D E F 1 材質  容積      buy sell 2         レート     A2に材質(A or B or C) B2に容積 を入力するとE2にbuy F2にsellのレートが出てくるようにしたいのです。 現在、SHEET2!E2に以下の式を入力し容積(行で展開)が最上段のまま動かない状態です。 =INDEX(OFFSET(SHEET1!$B$3:$B$10,,IF(A2=I1,0,IF(A2=K1,2,4)),MATCH(B2,SHEET1!$A$3:$A$10,1),),1) 以上、よろしくお願いします。

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

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

こんにちは! すでに良い回答が出ていますので、参考程度で目を通してみてください。 ↓の画像で説明させていただきます。 区分の境界がどのようになるか?によって表の配置が変わってきます。 (データを昇順に並べるか、又は降順に並べるか・・・です) 本来は表の薄い水色部分のみでOKなのですが、判りやすくするために 敢えて「○を超え」や「△未満」の列も載せています。 ○を超えて~△以下 というのであれば画像の上側の表になり、 ○以上~△未満 ということであれば下側の表を使います。 仮に上側の表を使った場合のSheet2のC2数式は =IF(COUNTBLANK($A2:$B2)>0,"",INDEX(Sheet1!$C$3:$H$8,MATCH($B2,Sheet1!$B$3:$B$8,-1),MATCH($A2,Sheet1!$C$1:$H$1,0)+COLUMN(A1)-1)) として列方向と行方向にコピーすると画像のような感じになります。 余計なお世話かもしれませんが、 下側の表の場合のC2セルの数式は =IF(COUNTBLANK($A2:$B2)>0,"",INDEX(Sheet1!$C$12:$H$17,MATCH($B2,Sheet1!$A$12:$A$17,1),MATCH($A2,Sheet1!$C$10:$H$10,0)+COLUMN(A1)-1)) という数式を入れ、列方向と行方向にオートフィルでコピーします。 以上、参考になれば幸いです。m(__)m

ssssh
質問者

お礼

tom04様、 早速のご回答をありがとうございました。 下の表を試してみたところ、無事に動きました。 すでに回答が出ていたのですね。 もっとくまなく探してみるべきでした。 本当に助かりました。 たいへんありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

E2セルへの入力の式を次に訂正してください。ごめんなさい。 =IF(OR(A2="",B2=""),"",INDEX(Sheet1!$A:$G,MATCH($B2,Sheet1!$A:$A,1),MATCH($A2,Sheet1!$1:$1,0)+COLUMN(A1)-1))

ssssh
質問者

お礼

KURUMITO様、 ありがとうございました。 この投稿が初めてでなにもわからず、登録手続きをすませて、質問をやっと書くことが出来てほっとしていたところでした。 こんなに早く回答をいただけると思いませんでした。 迅速なご対応に感謝いたします。 たいへん、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

シート1での1行目の材質の表示ではシート2の場合と同じ表示の形式に統一することにします。シート1でAとした場合にはシート2でもAのように同じとします。 シート2のE2セルには次の式を入力してF2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(A2="",B2=""),"",INDEX(Sheet1!$A:$F,MATCH($B2,Sheet1!$A:$A,1),MATCH($A2,Sheet1!$1:$1,0)+COLUMN(A1)-1))

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルマクロで条件に該当する数値を探す

    エクセル初心者です。 シート1のA1~A18に1~18の数値がランダムに入っています。(重複した値は無し) シート2の3行目C3~T3にも1~18の数値がランダムに入っています。(空欄あり、重複した数値は無し) シート2の2行目C2~T2までは左から順に1~18の数値が入っています。(順位表示) 以上の条件下で下記の作業をマクロで実行させる式を教えてください。 シート1のA1~A18の値と同じ値を、 シート2の3行目C3~T3の中からどのセル(列)に入っているかを確認して、さらに該当する列の2行目C2~T2の値を、シート3の1行目A1~R1に表示させる。 例:シート1のA1=3、A2=2、A3=1の時、 シート2のC3=3、D3=1、E3=2でした。 シート2のC2=1、D2=2、E2=3です(この行の数値は毎回同じ) 上記の時シート3にはA1=1、B1=3、C1=2となります。 *シート1のA列A1~A18とシート3の1行目A1~R1の位置関係はリンクしています。(列→行) シート1 A列 1 3 2 シート2   A列 B列 C列 D列 E列 2行見出し見出し1  2  3 3行見出し見出し3  1  2 シート3 A列 B列 C列  2  1  3 ご理解頂けたでしょうか? 初心者ですので分かりやすい回答を宜しくお願いいたします。

  • エクセルでの該当する条件に一致する値の抽出

    エクセル初心者で困っています。 どなたかお助け下さい。 以下の様な表があります。 A   B  C  D   E  F   G 1商品名 入荷数 消費1 消費2 性能1 性能2 性能3 2○○  2   1   2   △△  ◆◆  □□   3××  2   1   2   □□  △△  ◆◆ 4○○  2   1   2   ●●  □□  ◎◎ この表を基に、別シートを以下の様に作成して A   B  C  D   E  F   G 1性能 【◆◆】 2 3商品名 入荷数 消費1 消費2 性能1 性能2 性能3 4○○  2   1   2   △△  ◆◆  □□   5××  2   1   2   □□  △△  ◆◆ セルB1に性能名を入力して、入力した値と 基となるシートのEFGの列から一致する値があった場合 該当する行をそのまま表示するような式を作りたいのですが可能でしょうか? 分かりづらい質問で申し訳ありませんが ご回答いただけるとありがたいです。

  • エクセル・区間を含む複数条件から該当する値を返す。お助けください。

     エクセルの質問です。いろいろ関数を試したり、Q&Aを調べても判りませんでしたのでお助けください。体力テストの結果について複数条件から、高い5、やや高い4、普通3、やや低い2、低い1と5段の評価値を返したいのです。sheet1での入力が、(1)性別(2択)(2)年齢(40才から85才以上まで5歳刻み・10択)、(3)テスト数値、以上を入力すると自動で、(4)評価値を同行セルに返したいのです。sheet2には試行的に参照する評価表を作成し、まず(1)(2)については例えば、男性(1)、43歳(40~44歳)なら140という条件値(計20択)に変換しながら試みています。しかし(3)測定値が、例えばの長座位体前屈というテストでは40~44歳男では、~-5cm→1、-4.9~5cm→2、5.1~10cm→3、10.1~20cm→4、20.1cm~→5というように区間数値から評価値を求めなくてはいけません。性別・年齢区分ごとに評価値が変わるのでややこしく、他にも同様に多種類のテストをします。評価表をにらみながらの手作業入力がたいへんなので何とか自動化できればと考えています。VLOOKUPやDGETやIF等あれこれ試しましたが、(1)(2)+(3)測定値→(4)評価値への変換ができず不可能かとあきらめ気分です。お忙しいところ恐縮ですが、解決へのヒントをお与えください。もし可能ならば初中級レベルなので例文も交えて説明いただけると幸いです。 sheet1   A   B   C    D 1 性別 年齢 テスト値 評価値 2 男  43    9   3    3 女  68   -2    1 sheet2    A    B     C     1 性別年齢 テスト値 評価値 2 140    -5   1 3 140     5   2 4 140    10   3 : :   :   :

  • 条件1つで複数の値を抽出することはできませんか。

    エクセルのことなのですが、条件1つで複数の値を抽出してきたいと思っています。 しかし、様々な本やインターネットのサイトを参照したのですがうまくできません。 内容なのですが、「シート1」というシートがありこのシートを「シート2」のように番号で分けて、横に並べるようなシートを作りたいと思っています。 シート1 番号 品目 100 A 100 B 101 C 101 D 101 E 101 F 101 G 101 H 101 I 102 J 103 K 103 L シート2 番号 品目 100 A B 101 C D E F G H I 102 J 103 K L すみませんが教えていただけないでしょうか。 よろしくお願いします。

  • エクセル 複数条件でのLOOKUP

    エクセルで、特定のキーで別表を参照してそこから値を表示するにはVLOOKUPを使用すると思いますが、複数条件でLOOKUPする事は可能でしょうか。 例えば、 シート1のA列とD列 シート2のB列とF列  2つの条件に合う(シート1A列=シート2B列 and シート1D列=シート2F列)レコードをシート2のG列からシート1のE列に表示したいと言う場合です。  シート1   A B C D E           1 01 ** ** 01       2 01 ** ** 02 うう       3 05 ** ** 01 ああ          ↑  シート2   A B C D E F G          1 ** 08 ** ** ** 01 いい       2 ** 01 ** ** ** 02 うう       3 ** 05 ** ** ** 01 ああ 判りにくい説明で申し訳ありませんが、よろしくお願いいたします。

  • エクセルにて複数セルの並び替え

    こんにちは、エクセルについて教えてください。列はA~Hまで、行は1~200行ほどに値が入っています。 例えばValueが以下のようだとします。 A1 B1 C1 D1 E1 F1 G1 H1 A2 B2 C2 D2 E2 F2 G2 H2 ... これらのValueを、別のSheetに以下のように並び替えたいのですが、 A1 B1 C1 D1 E1 F1 G1 H1 A2 B2 C2 D2 E2 F2 G2 H2 A3 B3 ...と、これがA200~H200の行分まで。なのでPaste後は800行になります。どうにかマクロか何かで簡単に 出来ないかと思い、どなたかご教授いただければと思います、よろしくお願いします!

  • エクセルのシート間で複数条件にて照合させたい。

    1.【Sheet1のデータ例】※補助元帳データ(Excel) ---------------------------------------------------------------------------------- A B C D E F G H ・・・・ 1| No. 日付 区分A 区分B 取引先 借方 貸方 2| 78 2/1 A 1010 A商事 5,000 3| 12 2/1 B 1020 B商事 2,000 4| 50 2/1 A 1050 C(カ) 1,050 5| 44 2/2 A 1100 (カ)D 8,400 6| 94 2/3 C 1700 (ユ)Q 5,500 7| 51 2/4 B 1010 P興業 4,200 ・| ・ ・ ・ ・ ・ ・ ・ ・| ・ ・ ・ ・ ・ ・ ・ ・| ・ ・ ・ ・ ・ ・ ・ ---------------------------------------------------------------------------------- 2.【Sheet2のデータ例】※入金データ(Excel) ---------------------------------------------------------------------------------- A B C D E F G H ・・・・ 1| 日付 区分 借方 貸方 摘要 2| 2/1 CC 1,050 3| 2/1 2,000 4| 2/1 5,000 5| 2/2 CC 8,400 6| 2/3 5,500 7| 2/4 CC 4,200 ・| ・ ・ ・ ・ ・ ・ ・ ・| ・ ・ ・ ・ ・ ・ ・ ・| ・ ・ ・ ・ ・ ・ ・ ---------------------------------------------------------------------------------- 上記のようなエクセル シートがあります 1.[sheet1]と[sheet2]の日付と金額を照合させて2つの条件が一致するデータを探す 2.一致するデータの行を[sheet1]と[sheet2]ともに塗りつぶしをする(薄い黄色) 3.日付と金額が一致している行が複数あるなら対象データ(行)を薄いピンクに塗りつぶす 4.一致しないデータを[sheet3]に日付と金額のみ貼り付ける 上記のようなことをしたいのですが 関数では限界があり悩んでいます。 VBAを試してみたいのですが知恵を拝借できないでしょうか。 よろしくお願い致します。

  • 【エクセル】複数条件に該当する値をかえす方法

    エクセルで表を作成していますが、どうしても上手くできません。 どなたかお分かりになりますでしょうか。 エクセル   列A   列B    列C      ---------------------------------- 1 個人   新規   2000 (円) 2 法人   新規   3000 (円) 3 法人   新規   2500 (円) 4 個人   既存   1000 (円) 5 その他  新規    500 (円) 列A、列Bはそれぞれ固定値が入ります。 列Cはすべての値(定まっていない値)が入ります。 列A、列Bをそれぞれ条件として、該当する場合列Cの 値を別シートにかえしたいのです。 例)列Aが「個人」、列Bが「新規」の場合、 列Cの値をかえす 関数を使って =IF(AND(A1=個人,B1=新規),"C1","")  とやってもエラーになってしまいます。 別シートには表を作成してあり、あるセルに列Cの 値のみ反映させたいのですが、うまくいきません。 同シート内でやっても上手くいかないので、数式そのものに 問題があると思っています。 上手く説明が出来ているか自信がありませんが、 解決できる方法はありますでしょうか。 どうぞ宜しくお願い致します。

  • excel  複数行をまとめる 一括変換

    データ整理で困っております。 皆様のお知恵を拝借したくお願いいたします。 EXCELシートで次のようなデータがあります。   A B C D E F G H I J K 1 1 あ い 2  う え 3  お か 4  き く 5  け こ 列はA,B,Cのみにデータがあります。 行は1~5にあります。 A1は連番で数字があります。 この5行のデータが400近くあります。(約2,000行) このシートが10ほど存在します。 これらのシートを次のように1行に変換したいのです。   A B C D E F G H I J K 1 1 あ い う え お か き く け こ 2  3  4  5  行2~5はブランクのままでもかまいません。 何卒よろしくお願いいたします。

  • excel 2つの条件(第三弾)

    http://okwave.jp/qa5057168.html の更に続きですが、    A   B   C  D  E   F  G 1  あ   3  22    4  15  ? 2  い   4  15    4  15  ? 3  う   2  10    4  10  ? 4  え   4  10 5  お   4  15 想定していなかった5行目を追加しました。 E1に=LARGE(B1:B5,1) E2に=LARGE(B1:B5,2) E3に=LARGE(B1:B5,3) F1とF2とF3に{=MOD(LARGE(B1:B5*(MAX(C1:C5)+1)+C1:C5,ROW(B1:B5)),MAX(C1:C5)+1)} G1に=INDEX($A$1:$A$5,SUMPRODUCT((B$1:B$5=E1)*(C$1:C$5=F1)*ROW(A$1:A$5)))を入れましたがB列とC列が同じ組み合わせがある場合ではエラーが出てしまいます。 G1に『い』、G2に『お』を表示させる事は可能でしょうか? 重ね重ね申し訳有りませんがわかる方おりましたらよろしくお願いします。

専門家に質問してみよう