ID登録せずに、ニックネームで質問できる♪教えて!gooアプリ

エクセルにて下記の表があって、地域が「海外」で場所が「A」の時「あ」の合計は出せるのでしょうか?
条件が2つの合計の場合はSUMIFを使うことは分かるのですが、
3つでも可能なのでしょうか?
宜しくお願い致します。


地域   場所  勘定科目  合計
海外   A   あ     1000
北海道  B   い     100
東京   A   あ     500
沖縄   B   い     100
海外   B   あ     200
北海道  A   い     300
東京   B   あ     500
沖縄   A   い     400
地域が「海外」で場所が「A」の時「あ」の合計は?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

ご使用のエクセルバージョンによって、以下の様になります。


■Excel2007の場合
 =SUMIFS(D:D,A:A,"海外",B:B,"A",C:C,"あ")
■Excel2007以外の場合
 =SUMPRODUCT((A2:A100="海外")*(B2:B100="A")*(C2:C100="あ")*(D2:D100))
■配列数式の場合(共通)
 =SUM(IF(A2:A100="海外",IF(B2:B100="A",IF(C2:C100="あ",D2:D100))))
 入力完了時にshift+ctrl+enterキーを同時押下します。

この回答への補足

数式入れると#num! と出るのですが、なぜでしょうか?
SUMPRODUCTについてはなんとなく理解できたのですが・・・

補足日時:2008/11/20 14:05
    • good
    • 0
この回答へのお礼

すみません。分かりました。
とても勉強になりました。ありがとうございます。

お礼日時:2008/11/20 14:44

mappamさん、こんにちは


 SUMIF関数で配列数式を使ったり色々方法があるみたいですけど、複数条件の場合はほとんどデータベース抽出と同じなのでデータベース関数 DSUM を使うのが自然かなと思います。

(1)元表がA1:D9にあるとすると、次のような検索条件のセルを A11:D12 に用意して

地域   場所  勘定科目
海外   A   あ   

(2)以下の式を立てます。
=DSUM(A1:D9,4,A11:D12)

 あと、データ分析作業の時などデータを手入力するのが面倒!というときは、ピボットテーブルで色々な条件をマウスでいじくり回す方法も手軽です。
 ご存じでしたらスルーして下さいm(__;m
    • good
    • 0
この回答へのお礼

教えていただきありがとうございます。
私が初心者の為、DSUMがうまく理解できませんでした。
これを気にDSUMを理解したいと思います。
ありがとうございました。

お礼日時:2008/11/20 14:46

A2からD10までデータがあるとする


=SUMPRODUCT((A2:A10="海外")*(B2:B10="A")*(C2:C10="あ"),D2:D10)
    • good
    • 0
この回答へのお礼

教えていただきありがとうございます。
SUMPRODUCTについて学びました。これは条件を増やすことが出来るので
応用がききそうですね。
ありがとうございます。

お礼日時:2008/11/20 14:49

#1です



ごめんなさい...「海外 B あ 200」は違いましたね
    • good
    • 0

私はエクセルに精通していない人にでも判るような表を作ることを心がけています


引き継いだ担当者に分かり易いように単純な最低限の関数を使用していますので参考になるかどうかは判りませんが...

__A__B_C__D__E_________F_______G
1___________if A1=海外 then D1  if B1=A then E1 if C1=あ then F1
2_海外_A_あ_500_(500)____(500)____(500) 
3_北海道B_い_100
4_東京_A_あ_500
5_沖縄_B_い_100
6_海外_B_あ_200_(200)____(200)____(200) 
7_北海道A_い_300
8_東京_B_あ_500
9_沖縄_A_い_400

でG列を合計すれば結果として求める集計が出来るのでは?
    • good
    • 1
この回答へのお礼

教えていただきありがとうございます。
誰にでも分かるようにしていたほうがいいですよね。
本当にそうです。
thenなどを使ったことがなかったので、今度勉強してみます。
ありがとうございます。

お礼日時:2008/11/20 14:47

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QSUMIFS関数でOR条件を使いたい場合の関数

Excel2010を使用しています。
家計簿を作成しているのですが、SUMIFS関数でOR条件を使用したい場合どのように書けばよいでしょうか。

図は、明細と合計欄です。
ピンクのセルが円、それ以外はドルです。
合計欄のように、円とドルをそれぞれ分けて項目毎の合計額を出したいです。
セルE21のように、円の場合は「MUFJ」「ゆうちょ」ですので、MUFJとゆうちょのSUMIFS関数合計値を足しています。
これを、1行にまとめたいのですが、適切な関数はないでしょうか?
SUMIFSではOR条件が使えないようですので・・・・・・

明細行に円・ドルの列を追加すれば簡単なのですが、明細行の列はこれ以上増やしたくないので、できれば数式のほうで処理できればと思っています。

よろしくお願いいたします。

Aベストアンサー

例示のデータなら以下のような数式になります。

=SUM(SUMIFS($C$2:$C$14,$D$2:$D$14,{"MUFJ","ゆうちょ"},$B$2:$B$14,B21))

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてください。

               A列   B列    C列
Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。
Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。

AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。

VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

Aベストアンサー

こんばんは!
一例です。
↓の画像で右側(Bファイル)の方に作業用の列を設けています。
作業列D2セルを
=A2&B2
としてオートフィルで下へずぃ~~~!っとコピーします。

そして、AファイルのD2セルに
=IF(OR(A2="",COUNTIF([Bファイル.xls]Sheet1!D$2:D$1000,A2&B2)=0),"",INDEX([Bファイル.xls]Sheet1!C$2:C$1000,MATCH(A2&B2,[Bファイル.xls]Sheet1!D$2:D$1000,0)))
という数式を入れ、オートフィルで下へコピーすると
画像のような感じになります。
尚、数式はBファイルの1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば良いのですが
他に良い方法があれば読み流してくださいね。m(__)m

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QIF関数を使って3つ以上のある範囲内の条件を満たす場合「A」などと入力

IF関数を使って3つ以上のある範囲内の条件を満たす場合「A」などと入力したいです。

たとえば
100以上110以下はA
110以上120以下はB
120以上ならC

=IF(F3=100<110,"A",IF(F3=110<120,"B",IF(F3=120<???,"C")))

こんな感じでしょうか?
よろしく教えてください。

Aベストアンサー

参考までに。

大きい数値あるいは小さい数値から絞り込む方法ではなく、F3が100以上110未満という限定条件の数式にする場合は(これ数式ならIF関数の順に関係されない)、以下のようにAND関数を利用します。

=IF(AND(F3>=100,F3<110),"A",IF(AND(F3>=110,F3<120),"B",IF(F3>120,"C","100未満")))

QSUMPRODUCTに3つ以上の条件

A列に男女別、B列に年齢別、C列に住所、D列に部署別のデータが1万人以上、入っています。
1つのセルに、関数で港区、男性、30代の人数のデータを抽出したい。
SUMPRODUCTに条件の2つまでは正しく抽出されるが、3つめの年代別がうまくいきません。
また、そのほかに
E-1セルに"男女別"、F-1セルに"年齢"、G-1セルに"住所"、H-1セルに"部署名"、I-1セルに
人数の項目を作成し、E~Hに条件を入れれば、I-1のセルに、人数を出したい場合の作り方を
教えてください。よろしくお願いします。

Aベストアンサー

まず、質問者さんはどのように SUMPRODUCT関数を使用しているのでしょう。

条件を
 SUMPRODUCT関数の中でかけ算しているか、
 パラメータとして渡してSUMPRODUCT関数にかけ算させているか
で動作が変わってきます。

■本題
3つ以上の条件を使う場合は、関数の中でかけ算しないと正しい結果を得られません。
野郎で成人、北海道の総務なら

 =SUMPRODUCT((A1:A10="男")*(B1:B10=>"20")*(C1:C10="北海道")*(D1:D10="総務"))

こんな感じ。

てか、作り方というか、2つまでの条件式の意味を理解されていないと思うんですよ。
>E-1セルに"男女別"、F-1セルに"年齢"、G-1セルに"住所"、H-1セルに"部署名"、I-1セルに
>人数の項目を作成し、E~Hに条件を入れれば、I-1のセルに、人数を出したい場合の作り方を~
理解されているなら、こんな質問はしませんからねえ。
(質問をするのであれば、自身がどれだけ理解しているかを示さないと
 答えを見ても呪文がならんでいるだけにしか受け止めることができませんよ。
 それって、目先の問題は解決するけど、ちょっとでも条件が変わると
 とたんに難題に変わってしまいます。
 本当に問題を解決したいのであれば
 >条件の2つまでは正しく抽出されるが~
 という書き方はやめておきましょう。
 回答者さんが勘違いして回答することがあります。)

悪いことは言いません。
とりあえず、使い方をしっかり 【理解】 して考えてから行動を起こしましょう。

 I1=SUMPRODUCT((A1:A10="男")*(B1:B10=>"20")*(C1:C10="北海道")*(D1:D10="総務"))
 I1=SUMPRODUCT((A1:A10=E1) * (B1:B10=>F1) * (C1:C10=G1) * (D1:D10=H1))

まず、質問者さんはどのように SUMPRODUCT関数を使用しているのでしょう。

条件を
 SUMPRODUCT関数の中でかけ算しているか、
 パラメータとして渡してSUMPRODUCT関数にかけ算させているか
で動作が変わってきます。

■本題
3つ以上の条件を使う場合は、関数の中でかけ算しないと正しい結果を得られません。
野郎で成人、北海道の総務なら

 =SUMPRODUCT((A1:A10="男")*(B1:B10=>"20")*(C1:C10="北海道")*(D1:D10="総務"))

こんな感じ。

てか、作り方というか、2つまでの条件式の意味を理解されていないと...続きを読む

QSUMIF関数で、条件に日付範囲で指定するには?

SUMIF関数で、条件に日付をいれたいのですが、
10日毎の範囲で集計を取るにはどうすればいいでしょうか。

A列に日付、B列に数値で
=SUMIF(A:A,"【2013/9/1~2013/9/10】",B:B) 
こんな感じで日付の部分が問題のところです。

date関数を入れてみると例えば9/3だけなど、一日だけの計算はできたのですが…
1~10,11~20、21~末日(31日)で合計するにはどう記入すればいいでしょうか。

Aベストアンサー

こんにちは。

2013/9/10までを求めて、2013/9/1以前を引けば答えが出ます。
=SUMIF(A:A,">=2013/9/10",B:B)-SUMIF(A:A,"<2013/9/1",B:B)

どうでしょうか。

Qエクセル 複数条件での検索を関数を使って解決したいです。

エクセル関数を使って複数の条件を満たしたときの
特定のセルの文字列を返す方法を考えています。

例を挙げると

   A    B    C     D    E    F
1  金額  日付  名称   金額  日付 名称
2  100  1月5日  a    100  2月1日 =???
3  200  1月5日  b
4  300  1月6日  c
5  400  2月1日  d
6  100  2月1日  XYZ
7  100  2月3日  e
8  200  2月3日  f

上のような表のときに
金額=「100」 かつ 日付=「2月1日」 という2つの条件を
満たしたときのC列の文字列「XYZ」を返すということをやりたいのです。

金額だけですとVLOOKUP関数を使って
=VLOOKUP(D2,A2:C8,3,false)
とやって「a」という文字列はかえってくるのですが
どうやっても「XYZ」という文字列が返せません。
(日付の条件を入れていないので当たり前ですが...)

なにかいい方法がありましたらお願いします。

エクセル関数を使って複数の条件を満たしたときの
特定のセルの文字列を返す方法を考えています。

例を挙げると

   A    B    C     D    E    F
1  金額  日付  名称   金額  日付 名称
2  100  1月5日  a    100  2月1日 =???
3  200  1月5日  b
4  300  1月6日  c
5  400  2月1日  d
6  100  2月1日  XYZ
7  100  2月3日  e
8  200  2月3日  f

上のような表のときに
金額=「100」 かつ 日付=「2月...続きを読む

Aベストアンサー

◆こんな方法もありますよ
=INDEX(C2:C8,MATCH(D2&E2,INDEX(A2:A8&B2:B8,),0))

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング