• ベストアンサー

いくつかのセルを確認して結果を絞り込んでいきたい。

現在、エクセル2007で入力用の表を作っています。 たとえば、   A B C D 1 あ か 01 100 2 あ か 02 110 3 い き 03 120 4 い く 04 130 5 い く 05 140 6 あ か 02 (入力用行) 7 結果A 以上のような表を作った時に、 行6の各セルに A → あ B → か C → 02 と入力した行くと、結果AにD列の数字の110表示させたいのです。 同じように各セルに A → い B → く C → 04 と入力したら、結果AにD列の数字の130表示させたいのですが これは、マクロ等を使用しないと出来ないものでしょうか? 本日中に仕上げたいので、どなたか知恵を貸して下さい。 宜しくお願いします。

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

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

NO2です。 数式がくどいので整理してみました。 =SUMPRODUCT((CONCATENATE(A1:A5,B1:B5,C1:C5)=A6&B6&C6)*D1:D5)

BUBU501
質問者

お礼

入力量が多く理解に苦しみましたが、整理してもらって意味が理解できそうです。 数式的には当てはめたらうまくいきました、ありがとうございました。

その他の回答 (2)

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

一例です。 =IF(COUNTA(A6:C6)=3,INDEX(D1:D5,SUMPRODUCT((A1:A5=A6)*(B1:B5=B6)*(C1:C5=C6),ROW(A1:A5))),"")

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

作業列を1列入れては如何でしょうか。 A B C D   F 1   あ か 01 100 2   あ か 02 110 3   い き 03 120 ・・・と1列追加して、A1セルに =A1&B1&C1 といれて下までコピィしておきます。 A7には =VLOOKUP(A6&B6&C6,A1:D5,4,FALSE) といった感じでVLOOKUP関数が使えるようになります。 或いは、配列関数、SUMPRODUCT関数を使用します(ひとつのセルぐらいであれば) =SUMPRODUCT((A6=A1:A5)*(B6=B1:B5)*(C6=C1:C5)*(D1:D5) とかですね。

BUBU501
質問者

お礼

VLOOKUPを使う手も有るんですね。 出来れば、表の形は崩したくないので、後者のやり方でやってみましたありがとうございました。

関連するQ&A

  • 関数中にセルに入力した値を反映させて計算を行いたい

    こんにちは Excelを用いた計算を行っているのですが 自分の知識では出来なかったために皆様の知恵を借りたいと思っています Excelで単純な足し算を行いたいのですが とあるセルに入力した値によって計算範囲を変更したものを作りたいと考えています 仮にA行1列からA行20列まで各セルに1,23…20と順番に1つの数字が各セルに入力されていたとします この時, B行1列のセルに5という数字が入力されていたら C行1列にA行1列数字とA行5列の数字の和が入力される (イメージとしたら結果として1+5より6が出力される) B行1列のセルに10という数字が入力されていたら C行1列にA行1列数字とA行10列の数字の和が入力される (イメージとしたら結果として1+10より11が出力される) ような関数を作りたいと考えています 自身の甘い考えで B行1列のセルに5という数字が入力されていたら C行1列にA行1列数字とA行5列の数字の和が入力されるのは C行1列に=A1+A(B1)と入力したら出来るのではないかと考えていたのですが どうもできないみたいです なにか方法等浮かぶ方がいらしましたら回答をお願いします

  • Excel関数について(初級者)

    例えば以下の表データがあり、    A   B  1 数字  記号 ←タイトル行 2  1   a 3  2   b 4  3   c A行のある数字を入力するとB行の同じ列の記号を表示させるのは(入力欄をC2、結果表示セルをD2として) D2に VLOOKUP(C2,A2:B4,2) でうまくいきました。つまり2を入力するとbという答えです。 でも逆にB行のある文字を入力するとA行の同じ列の数字を表示させるのに(入力欄をC3、結果表示セルをD3として) D3に VLOOKUP(C3,A2:B4,1) つまりcと入力すると3の答え でやってみたが#N/Aのエラーがでてうまくいきません。 間違った点のアドバイスをお願いします。

  • Excel2000で表を作っていますが、うまくできません

    Excel2000で表を作っていますが、うまくできません(T_T) セルA1+B1=C1 C1+A2+B2=C2 C2+A3+B3=C3.... のようなC列に合計欄がある表を作っています。(元帳のような物です) (A列、B列の欄には必ずしも全て数字が入る訳ではありません。) しかし、セルA列とセルB列に数字を入力していない場合、C列に全て「0」が 表示されてしまいます。 数字入力後は、全て下まで残高が入ってしまいます。 セルA列,B列に最後に数字を入れた行まで、Cに数字が入るようにしたいのですが、 できないでしょうか? (30行まで表を作って20行まで数字を入れたとき、21行から30行に残高も入らないように したいのです。) 何だかうまく説明できませんが、是非教えていただけますでしょうか。 よろしくお願いします。

  • 数値入力後、隣のセルに結果をマクロで表示したい

    エクセルのある列に数値を入力すると、自動的に隣の列に結果(消費税の金額や、対応する勘定科目など)が表示されるようにしたいです。 例えば、B列、あるいは、1行目をタイトル行にすれば、B2より下のB列に数値を入力していくと、隣のC列に結果が表示されます。 もう少し具体的に例示すると、B2セルに100と入力すると、C2セルに、消費税の金額、8が表示されます。 あるいは、B2に100と入力すると、C3に100に対応する勘定科目が表示されます。 もちろん、C2に=B2*8%という式を入力していてもいいのですが、その場合、事前に式を入力する必要があります。 しかし、B列の何行目まで入力するのかわからないので、事前に式を入力せずに、このようなマクロを記入したいと思います。 また、勘定科目名が表示される場合も、通常であれば、vlookup式をC列に代入し、隣のシートの勘定科目とコードの対応表を参照させますが、同様の理由で、式を事前に入力しないようにしたいと思っています。 イベントプロシージャーでするようですが、どのような変数を使って表示するのかよくわかりません。 宜しくお願いします。

  • 計算結果を別セルに分割して入力したい

    教えてください。A1からA10に2桁の単価数字から4桁の単価数字が入力される表があり、B1からB10に利用回数を1桁数字から2桁数字を入力して掛けた結果をC1からC10に反映させた表があります。このC1の値をD1からI1のセルへ桁数ごと分けて、右よせで数字を反映させたいのですが可能でしょうか。 たとえば A1:180 掛ける B1:5  結果C1:900 このC1:900を G1:9 H1:0 I1:0 としたいのです。 よろしくおねがいします。

  • エクセル ある数が含まれる範囲を調べ、その隣のセルの数を取得する

    聞きたい内容がうまく説明できないので、具体例を書かせていただきます。 下のような表があり、それとは別に1つ数値を入れるセルと結果を表示するセルがあります。 入力セルに例えば105を入れたとき、105は101(A列)~110(B列)の間の数値なので、その行のC列の値である3を結果セルに表示させたいのですが、どのようにすればよいでしょうか。 A列   B列   C列 1 100 0 101 110 3 111 120 2 121 130 5 131 140 2 141 150 2 151 200 3 201 1000 0

  • エクセルでの連番の処理

    お世話になります。 1行目に入力されたデータをルールに沿って2行目以下にどんどん追加していきたいと思っています。 まずD1、E1のセルに数字を入れます。 例:D1に3、E1に25 を入れてマクロを実行するとD列の2行目以下に3,4,5,6…25と連番で入力出来るようにしたいのです。 この例ではD列は24行目まで入力されています。そこで2行目から24行目までのA,B,C列にはそれぞれ1行目のA,B,C列と同じデータを入力します。なおA,B,C列は数字、文字列どちらもあります。空白の場合もあります。 この状態でA~E列の1行目のデータを変更し、仮にD1を2、E1を15としたとします。ここで再度マクロを実行すればD25に2、そして順に連番が入りD38に15が入るようにします。 同時に25行目から38行目までのA,B,C列にはそれぞれ1行目のA,B,C列と同じデータを入力します。 これの繰り返しです。 つまり2行目以下のD列で空白の行以下にどんどん連番を入れていく具合です。 前提としてD1、E1は整数しか入りません。またE1の数字はD1より大きいです。ただD1,E1に同じ数字が入った場合、その数字の1行分だけが入力されるようにします。 以上の処理が自動化できるマクロはできますか? アドバイス願います。

  • 複数の条件に合う行の特定のセルを返す

    ほぼ同じ質問をいくつか見かけたのですが、その式を自分の内容に置き換えても全く希望通りの結果が出ず、質問させてください。 2 1 Aさん 4 1 Bさん 5 1 Cさん 2 2 Dさん 5 2 Eさん セルのA1には「2」、B1には「1」、C1には「Aさん」と入ったシートがあり、例えばセルのD1に A列、B列ともに「2」が入力されている4行目のC列「Dさん」という値が反映して欲しいのですが、その関数が分からなく困っています。 他にもA列が「5」、B列が「1」の結果が(Cさん)が欲しい時もあり、条件にはA列の値とB列の値を使う方法で考えています。 お知恵を貸してください。

  • エクセルで空白セルを寄せたい

    エクセル2002使用です VBAは使わずに関数だけで空白セルがあるセルを詰めて表示したいのですが・・・   A|B|C|D|E|F|G 1 あ い う え お か き 2 ○   ○ ○   ○ の表を   A|B|C|D|E|F|G 1 あ う え か  2 ○ ○ ○ ○ のように表を書き換えたいのです。 1行目には必ず文字が入力されています。 2行目には入力されているセルと空白セルが不定期に入力されています。 2行目のセルが空白ならば、1行目のセルも削除して左へ詰めて 表を転記したいのです。 よろしくお願いします。

  • マクロで可視セルのみの削除

    A行に数字を入れ、B行にA行同列セルの数字に対して 数値を返す数式を入れています。 B行は非表示にしています。 (C・D行、E・F行・・・とも同じ処理) 数字を入力する範囲(A、C、E・・・)を選択し、 入力されている数字を消去するようマクロを組みました。 (範囲選択→ツールの編集→ジャンプ→可視セルを選択後、Delete) これはうまく作動します。 が、数式が壊れるのを防ぐ為、念には念を・・・と、 入力範囲部分はセルの書式設定で保護ロックを外し、 シートを保護しました。 そうすると、保護されているからだめ!と エラーが出て、マクロが作動しません。 (可視セル選択部分にデバッグがでます。) ・非表示のセルがある ・一部を除きシートを保護している 状態で、マクロで可視セルのみ削除することは不可能なんでしょうか? 宜しくお願いします。

専門家に質問してみよう