• ベストアンサー

Excelで条件を2つ満たすセルに金額を入力(表示)させるには

色々と考えてみたのですが、上手く結果が出せなかったので質問させてください。 添付のような表で右側のL3:M10に条件があります。 L列にはカテゴリの条件、M列には担当の条件です。 黄色く塗られている範囲に、この二つの条件に見合うセルにN列の金額を表示させたいのですが、関数やマクロなどを使って自動で表示させることが出来るのでしょうか。 例)カテゴリが●●(8行目)、担当がBBB(D列)にあたるD8に、5,200という数値を表示 今は手で自分で確認しながらやっていますが、数が多い(実際にはもっとデータ量があります)のと間違えそうで、単純なことでありますが時間を取られてしまっています。 何か作業を省略できる方法があれば教えてください。 よろしくお願いします。 [Excel2003/Windows XPを使用]

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

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

NO1です。 早とちりしました訂正版です。 (1)C4に=SUMPRODUCT(($L$3:$L$8=$A4)*($M$3:$M$8=C$2)*$N$3:$N$8)として縦横にコピー (2)表示範囲のセルの書式設定をユーザ定義でG/標準;;;@として下さい。(0を空白にしています)

aqua0214
質問者

お礼

こちらも2度目の回答までいただきありがとうございます。 SUMPRODUCT関数、お恥ずしながら知らなかったです…。セルの書式を使えば0の表示回避も簡単ですもんね。 たくさんの方から色々な式を教えていただいたので、実際の表に式を入れて確認したいと思います。 自分一人では式が浮かばず困っていたのでとても助かりました。ありがとうございました。 -*-*-*-*-*-*-*-*-*-*-*-*-*-*- たくさんのご回答いただき皆様本当にありがとうございました。 Excelそれなりに理解しているつもりでしたが、実務レベルでまだまだだなぁと今回あらためて実感しました。 実際の表に入れてみて、色々なケースを考えて後ほど締め切らせていただきたいと思います。 こんなにたくさんの方からご回答いただけるとは思ってもいませんでした。感謝いたします。 本当に本当にありがとうございました。

その他の回答 (7)

  • mo2yakko
  • ベストアンサー率54% (30/55)
回答No.7

あらっNo2です。 K行とL行の間に行を挿入します。 (LMN行はMNO行にズレマス) L3に=M3&N3を入力し、コピー。 C4セルに下の式を入力してコピー(^^; =IF(ISERROR(VLOOKUP($A4&C$2,$L$4:$O$8,4,0)),"",VLOOKUP($A4&C$2,$L$4:$O$8,4,0)) で、L行は非表示に~ 比較的簡単な計算式にするならですが(^^;

aqua0214
質問者

お礼

2度目の回答いただきありがとうございます! 作業列を入れてかなりシンプルな表になりますね。新たに作業列入れてVlookupで引っ張ってくるまで頭が回りませんでした。 たくさんの方から色々な式を教えていただいたので、実際の表に式を入れて確認したいと思います。 自分一人では式が浮かばず困っていたのでとても助かりました。ありがとうございました。

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

B3セルには次の式を入力してI3セルまでオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR(B$2="",$A3="",COUNTIF($L:$L,$A3)=0,COUNTIF($M:$M,B$2)=0),"",IF(MATCH($A3,$L:$L,0)=MATCH(B$2,$M:$M,0),INDEX($N:$N,MATCH($A3,$L:$L,0)),""))

aqua0214
質問者

お礼

おーー。こういった組み合わせでもきちんと表示されるんですね。 MATCHやVLOOKなどは考えてみたのですが、COUNTIFを入れるのは全然浮かびませんでした。 いやぁ勉強が足りないなぁ、とちょっと落ち込みます(苦笑) たくさんの方から色々な式を教えていただいたので、実際の表に式を入れて確認したいと思います。 自分一人では式が浮かばず困っていたのでとても助かりました。ありがとうございました。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.5

C4に、 =IF(ISERROR(VLOOKUP($A4,$L$3:$N$9,1,0)),"",IF(VLOOKUP($A4,$L$3:$N$9,2,0)=C$2,VLOOKUP($A4,$L$3:$N$9,3,0),"")) と入力して、C4:I10 にコピーでどうでしょう。

aqua0214
質問者

お礼

結構シンプルな式ですね。 ISERRORもVLOOKもIFも1つ1つは理解しているつもりでも、組み合わせるのがどうも苦手で思い浮かばず。。。 たくさんの方から色々な式を教えていただいたので、実際の表に式を入れて確認したいと思います。 自分一人では式が浮かばず困っていたのでとても助かりました。ありがとうございました。

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

No.3です! たびたびごめんなさい。 前回の数式は1行ずれていました。 C4セルの数式は =IF(ISERROR(INDEX($N$3:$N$100,MATCH($A4&C$2,$O$3:$O$100,0))),"",INDEX($N$3:$N$100,MATCH($A4&C$2,$O$3:$O$100,0))) に訂正してください。 どうも何度も失礼しました。m(__)m

aqua0214
質問者

お礼

補足ありがとうございます。

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

こんにちは! 一例です。 画像の表「O」列に作業用の列を設けます。 O3セルに =L3&M3 としてオートフィルでずぃ~~~!っと下へコピーします。 そして、C3セルに =IF(ISERROR(INDEX($N$3:$N$100,MATCH($A3&C$1,$O$3:$O$100,0))),"",INDEX($N$3:$N$100,MATCH($A3&C$1,$O$3:$O$100,0))) という数式を入れ、列方向と行方向にオートフィルでコピーしてみてはどうでしょうか? 尚、数式はL~N列の100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば良いのですが 的外れなら読み流してくださいね。m(__)m

aqua0214
質問者

お礼

作業列を作ると式も理解しやすくなりそうですね。 たくさんの方から色々な式を教えていただいたので、実際の表で入れてみて確認したいと思います。 100行までの対応もありがとうございました!とても参考になりました。 自分一人では式が浮かばず困っていたのでとても助かりました。ありがとうございました。

  • mo2yakko
  • ベストアンサー率54% (30/55)
回答No.2

こんな感じでどうでしょう? N3に計算式入力してコピーです (1)=VLOOKUP(L3,$A$4:$I$10,MATCH(M3,$A$2:$I$2,0),0) (2)=VLOOKUP(L3,$A$4:$I$10,MATCH(M3,$C$2:$I$2,0)+2,0)

aqua0214
質問者

お礼

素早いご回答感謝いたします!

aqua0214
質問者

補足

#1の補足にも書きましたが、私の例が悪く混乱させてしまって申し訳ありません。 数値を表示させたいのはN列ではなく、C4:I10になります。 お手を煩わしてしまい申し訳ありません。もしお分かりになるようでしたら教えてください。

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

一例です。 N3に=INDEX($A$3:$I$10,MATCH($L3,$A$3:$A$10,0),MATCH($M3,$A$3:$I$3,0))として下方向にコピー

aqua0214
質問者

お礼

素早いご回答感謝いたします!

aqua0214
質問者

補足

早速のご回答ありがとうございます。 申し訳ありません、表が見づらい上に私の文章が分かりづらいものなのですが、本来黄色く塗られた範囲が空白になっています。 L列とM列の条件を満たした黄色いセルに、N列の金額を表示させたいのです。

関連するQ&A

  • Excelセル数式入力

    添付の見積書のうちセルE2の合計がH2の数値と同じもしくは近似値:±10,000になるようにセルD5とD9に数式を入力したいのですが。E列の数式をF列に表示しています。条件がありましてF1の値は都度手入力で変更されます、また見積書の諸経費はI2が空白であれば数値が入りI2に数字1を手入力すれば数値が入らず加算されないようになります。尚、D5+D9を100%とした場合セルD5はJ2の割合、D9は(100%-J2%)になるようにしたいのですが数式を何度か入れたのですが数値がちぐはぐ又、循環になりなりうまくいきません。D5,D9に入力する数式をどうかよろしくお願いします。

  • 複数セルを結合して一つのセルにしたい

    エクセル関数の質問です。 A列のセルに、数字が並んでいます。 aaaという部分はカテゴリーを示すものです。 B列のセルに同じカテゴリーの別の数値を連結させ、スペースで区切ってひとつのセルに表記させるにはどうすればいいでしょうか? concatenate関数を組み合わせて式を作ろうとしたのですが、うまく出来ませんでした。 VBAやマクロ、ユーザー定義関数になっても構いません。 ご教授ください。 A       B aaa_0001  aaa_0002 aaa_0003 aaa_0002  aaa_0001 aaa_0003 aaa_0003  aaa_0001 aaa_0002 bbb_0012  bbb_0013 bbb_0013  bbb_0012 ccc_0017

  • Excelで、特定の条件を満たすと指定のセルの値を消去するマクロ

    WindowsXP環境でExcel2000を使用しています。現在A列に日付、B列にA列の日付を引数として得た曜日を表示させ、条件書式で曜日が土日ならセルの色が赤くなるように設定しています。C列には始業時間D列は終業時間がそれぞれ予定としてあらかじめ入力した状態にしてあります。そこで、上記によって取得した曜日が土日にあたるセルの右側、つまりB列およびC列の値を自動的にもしくはマクロ処理で消去したいのですが、なにか良い方法はないでしょうか? よろしくお願いします。

  • エクセルで入力済みのセルのみ見つけて・・

    エクセルで入力済みのセルだけを見つけ出して、 指定した場所に並べる作業をマクロで1発で出来るようにしたいのですが、その方法を教えてください。 シートが37シートあります。(sheetA1~sheetA12,sheetB1~sheetB12,sheetC1~sheetC12,sheet37) それぞれセルC5からC20まで数値が入っていますが、 最終行はC20とは限りません。(sheet37はまとめるためのシートで空白) C15が最終行の場合もあれば、C18が最終行の場合もあります。 各シートそれぞれ最終行が違います。(列は同じですスタートもC5です) 各シートのC列の入力済みのセルの数値をsheet37のB1セルから順番に縦に並べたいのです。 A,B,Cのシート順にC列に入力された数値を縦に並べます。 空白は無しで詰めて並べます。 これを1回の作業でできるマクロを教えてください。 それから入力済みの最終行を見つけ出すマクロの部分を表示して頂けるとありがたいです。 宜しくお願いします。

  • Excelセル値入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。C列の数式はD列に表示しています。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐ又、循環になりなりうまくいきません。B4に入力する数式をどうかよろしくお願いします。

  • (エクセル)複数のセルの数値を、一つのセル羅列したい

    いつもお世話になります。 エクセル初心者(マクロも関数も;;)です。 表題の通り、複数のセルにある数値を一つのセルにまとめる方法を探しています。 例えば、 --------------------------     A   B   C   D 1   123  45   67  1234567 2   00   11   22  001122 -------------------------- のようにDの縦列にA・B・Cの数値を (合計ではなく)羅列させたいのです。 すごく初歩的な質問のようなことだと思いますが これがわかりません。。。 どうか簡単な方法を教えて下さい。 あと数値じゃなくて文字列でも同じような事ができるでしょうか? 環境:Excel2003

  • Excelの条件付き書式について。

    Excel2010です。 条件付き書式で2つの条件が等しい時に発生する数式はありますでしょうか。 画像のように、「B1、C1」セルで2つの単語を指定して、B1=B列とC1=D列の条件が合った行のみE列の書式が変わるようにしたいです。 上手くいく数式がありましたらご伝授お願いしますm(_ _ )m

  • Excel VBA 条件を満たすデータのコピーと計算結果の表示

    Excel2003を使用しています。 Sheet1のある選択範囲に対して(都度、手動で選択します) D列-E列が0でなかったら、その行のデータをSheet2のアクティブセル以下にコピーするという処理を下記のマクロでしています。 下記のマクロにコードを追加することによって、条件を満たすデータをコピーする際、D列-E列の計算結果をSheet2のD列に表示させることは可能でしょうか? 例えば、Sheet1のD5セルに100、E5セルに50と数値が入力されていた場合、Sheet2のD7セルに50と計算結果を表示させたいですのですが…。 (貼り付け先の行は、アクティブセルの行です) よろしくお願いします。 -------------------------------------------------- Sub Macro1()  Sheets("Sheet1").Activate '選択範囲のサイズ取得   With Selection    i = .Cells(1).Row    j = .Cells(1).Column    k = .Cells(.Count).Row    l = .Cells(.Count).Column   End With  Sheets("Sheet2").Activate   ActR = ActiveCell.Row   ActC = ActiveCell.Column  With Sheets("Sheet1")   For m = i To k    If .Cells(m, 4) - .Cells(m, 5) <> 0 Then     .Range(.Cells(m, j), .Cells(m, l)).Copy     Sheets("Sheet2").Cells(ActR, ActC).PasteSpecial Paste:=xlPasteAllExceptBorders     ActR = ActR + 1     Application.CutCopyMode = False    End If   Next  End With End Sub

  • 条件付き書式 日付のセルを塗りつぶし

    Excel2007 ある列に 日付、文字列、数値が入力されています。 条件付き書式で日付の入力されているセルのみ塗りつぶしたい。 その方法を教えてください。

  • エクセル セル値 行 非表示

    過去の回答を参考にさせていただき,私なりに頑張ったのですが,どうしてもマクロ設定が上手くいきません。朝からかれこれ12時間が経とうとしています。(涙) M列が0~150行まであるのですが,そのM列の中にあるセルが「0」を示した行を非表示にするマクロを組みたいと思っています。どなたかお知恵を拝借できませんでしょうか。 ご教授,どうぞよろしくお願いいたします。

専門家に質問してみよう