マンガでよめる痔のこと・薬のこと

いつもお世話になっております。

   A    B    C    D
2  1    4    4    4
3  2    2    2    4
4  3     -    -     -

B列が4以上かつC列が4以上かつD列が4以上のA列の合計を出したいのですが、
=SUMPRODUCT((B2:B4>=4)*(C2:C4>=4)*(D2:D4>=4)*(A2:A4))

というようにすると、「4」と出てしまい、どうもうまく計算されません。
「-」が4以上に反応してしまい、どうしたらよいでしょうか?

どうぞ宜しくお願い致します。

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

A 回答 (3件)

ハイフンを0や空白にはできないのでしょうか。


ハイフンでないと駄目な場合、セル=数値の条件を追加しないと期待通りになりません。
例えば、=SUMPRODUCT((ISNUMBER(B2:B4>=4)*(B2:B4>=4)*~~)
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。

mu2011さんのご回答を見て、とりあえず空白を入れて対処しました。
しかし、教えていただいた数式も確かめました。できました!
とても助かりました。
ありがとうございました。

お礼日時:2008/03/25 23:23

ハイフン部分を0に入力し直して


データ部分の表示書式を「#,##0;-#,##0;"-"」とすれば
0のときは「-」が表示されるようになりますから、
「-」を入力せずに済むので、
ご質問のSUMPRODUCT関数はうまく働くハズです。
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。

>データ部分の表示書式を「#,##0;-#,##0;"-"」とすれば

なるほど。なるほど。
そういう考えもあるのですね!
やはり「-」が入っていることから変えないとダメですね。
表示書式を「#,##0;-#,##0;"-"」はすっかり頭から抜けていました・・・。

ありがとうございました。

お礼日時:2008/03/25 23:31

#1のご回答のアイデアと思いますが、詳しくは


=SUMPRODUCT((B2:B4>=4)*ISNUMBER(B2:B4)*(C2:C4>=4)*ISNUMBER(C2:C4)*(D2:D4>=4)*ISNUMBER(D2:D4)*(A2:A4))
の3箇所ISNUMBER()が必要では。
結果

ーー
それと、=SUMPRODUCT((ISNUMBER(B2:B4>=4)*(・・が正しいのかどうか不安ですが。
私が間違っていたらすみません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

丁寧に教えていただきありがとうございます。
コピペしたら、結果「1」がでました~!

>それと、=SUMPRODUCT((ISNUMBER(B2:B4>=4)*(・・
>が正しいのかどうか不安ですが。

については、「1」がでました!

ありがとうございました。

お礼日時:2008/03/25 23:27

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

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

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

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

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

QSUMPRODUCTで文字列を無視したい

いろいろ検索してみたのですが、
よくわからないので助けていただきたいです。
エクセル関数の初心者(入門者)です。

複数条件の合計で
=SUMPRODUCT(($E$5:$E$27=$E$33)*($D$5:$D$27="○○")*(BT$5:BT$27))
という関数を入力しました。
BT列には、文字列も入力してありますので
文字列がある場合はエラーになってしまいます。

文字列を無視する方法はありませんか?
恐れ入りますが、よろしくお願い致します。

※DSUMはふさわしくありません。

Aベストアンサー

計算速度の観点から作業用のシートや表を活用したほうがよさそうに見えます。

=SUMPRODUCT(($E$5:$E$27=$E$33)*($D$5:$D$27="○○"),BT$5:BT$27)

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エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

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

               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【エクセル】ある特定文字を含んでいるデータを計算したい

複数条件でのデータ集計をしています。
条件は、商品名、担当者名、一宮市を含む、の売上(D列)合計です。
関数はSUMPRODUCTを使っていますが、一宮市を含むの条件でうまく
計算されません。
=SUMPRODUCT(($A$1:$A$200="商品名")*($B$1:$B$200="担当者名")*($C$1:$C$200="*一宮市*")*($D$1:$D$200))という式ではエラーに
なってしまいます。
一宮市セルは前後に複数文字があります。
うまくいく方法を教えていただきたいのと、上記の式でエラーになる
理由も併せて教えていただければと思います。
お詳しい方、よろしくお願いいたします。

Aベストアンサー

◆こんな方法もありますよ
=SUMPRODUCT(($A$1:$A$200="商品名")*($B$1:$B$200="担当者名")*(ISNUMBER(FIND("一宮市",$C$1:$C$200))))*($D$1:$D$200)

QSUMPRODUCTにて特定の文字以外をカウントする方法

Excelの関数SUMPRODUCTにて、特定の文字以外の文字が入ったセルを
カウントする方法を探しています。

以下の式に代入、又はこう直した方がいいなどアドバイスがございまし
たら宜しくお願い致します。

【式】
=SUMPRODUCT((A!F3:F5000<>"")-(A!F3:F5000,"障害"))

【式の解説】
=SUMPRODUCT((A!F3:F5000<>"") ←F3からF5000で文字が含まれてるセルを指定

-(A!F3:F5000,"障害")) ←F3からF5000で「障害」の文字が含まれていないセルを指定

【やりたい事】
・F3からF5000で、「障害」以外の文字が含まれてるセルを指定し、
 カウントたい

以上宜しくお願い致します。

Aベストアンサー

一例です。
=SUMPRODUCT((A!F3:F5000<>"")*(A!F3:F5000<>"障害"))

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つまでの条件式の意味を理解されていないと...続きを読む

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エクセルのIF文で「NOT=」はどう書くのですか?また、>=や<=の場合の書き方を教えてください

タイトルのとおりです

IF文で下記の3つの書き方がわかりません。

NOT=は、<>?
0以外の場合は、A1<>0?

A1が0と同じか、大きい場合は
A1>=0?

なんだか、うまくいきません^^;

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

Aベストアンサー

A1が・・・・・
A1 <> 0  0以外
A1 >= 0  0以上(0を含む)
A1 > 0   0より大きい(0は含まない)
A1 <= 0  0以下(0を含む)
A1 < 0  0未満
A1 = 0  0

=<,=> などの書き方は使えません。

Q【Excel】特定の文字を含むセルをカウントしない方法

エクセルで特定の文字列(仮に「key」とします)を"含む"場合の関数は、

=COUNTIF(A1..A20,"*key)

で処理できるのは分かっているのですが、

特定文字列(key)を"含まない"場合の処理方法が分かりません。
VBAなどを介さずに関数だけで処理する方法がありましたら、ご教示願います。

Aベストアンサー

=COUNTIF(A1:A20,"<>*key*")
でできませんか?

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ランキング