あなたの映画力を試せる!POPLETA映画検定(無料) >>

SUMIF(範囲,検索条件,[合計範囲])
の、検索条件部分に、
「セル内に数字、文字をとわず、とにかく何か入力されていたら合計する」
といった意味合いの条件を指定したいのですが、その方法がわかりません。

画像で説明させていただくと、
A2のセルにSUMIF関数を用いて、
文字が入力されているc,d,e列の数値を合計し、
90という結果が欲しい、ということです。

どなたかご教授をお願いいたしますm(__)m

「SUMIF関数で、「ブランク以外を合計」」の質問画像

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

A 回答 (6件)

こんばんは。



なんか皆さん難しく考えすぎのような・・・
SUMIF関数でできますよ。検索条件を空白以外とすればいいだけです。
=SUMIF(B2:F2,"<>",B1:F1) でできます。
    • good
    • 46
この回答へのお礼

あ…これです!出来ました。
こんな簡単なことだったんですね^^;

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

私の拙い文章のせいで、皆様に労力をおかけし、
申し訳ありませんでしたm(__)m

お礼日時:2009/12/28 21:03

こんばんは!


色々回答は出ていますが・・・

一例です。

↓の画像でA2セルに
=SUMPRODUCT((B1:F1)*(B2:F2<>""))

という数式を入れています。
これで希望に近い形にならないでしょうか?
尚、エラー処理はしていません。

以上、参考になれば幸いです。m(__)m
「SUMIF関数で、「ブランク以外を合計」」の回答画像5
    • good
    • 1

例えばA列のセルが空以外であったらB列の値を集計しなさい。

のように使います。その場合に式は次のようになりますね。
=SUMPRODUCT((LEN(A1:A100)>0)*B1:B100)
    • good
    • 8

配列数式を使用する方法


=SUM(IF(B2:F2<>"",B1:F1,""))
と入力し、「Ctrl」+「Shift」+「Enter」を押す。
別の方法
=SUMPRODUCT((B2:F2<>"")*(B1:F1))
と入力する。
    • good
    • 1

 


=SUM(B1:F1)-SUMIF(B2:F2,"",B1:F1)
逆転の発想です
 
※添付画像が削除されました。
    • good
    • 4

=SUM(C1:E1)


SUM関数は範囲の中に空白があれば加算されませんし、文字がは入っていれば加算されません。数値の入力されたセルのみの値が集計されます。
    • good
    • 0

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

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

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

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

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

QSUMIFS関数で「計算式による空白以外」を条件に指定したい

SUMIFS関数のいくつかの条件の中で、,B1:B10,"<>",とすれば、
B1~B10の空白以外ということになるのは調べてわかったのですが、
B1~B10に式が入っているため、空白と判断されません。
たとえば、=IF(A1=10,"",C1*D1)のような感じで、
A1が10でB1が空白になっている場合、空白とみなされないようです。
計算式による空白以外を条件にするにはどう記述すればいいのでしょうか?

Aベストアンサー

こんばんは。

例:
B1:~B10
=IF(A1=10,"",C1*D1)

A B
10   
1   20
2   30
3   42
4   56
5   72
6   90
7   110
8   132
9   156

としますね。(C列,D列は省略します)

"<>"では数式が入っているとうまく行きません。(Excel 2010)
----------------------------------------------------
 =SUMIFS(A1:A10,B1:B10,"<>*")

これはどうでしょうか?

結果
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 45
Empty(空)の場合は、
 55
----------------------------------------------------
しかし、最初の数式
=SUMIFS(A1:A10,B1:B10,"<>")
では、
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 55
Empty(空)の場合は、
 45
 
と逆の結果になりました。

本来は、">0" とか、"<>0"とかにすればよいとは思います。
ちなみに、""の[長さ0の文字列]を探す数式は、

=SUMIFS(A1:A10,B1:B10,"<""")

とすれば、結果は、10となります。

こんばんは。

例:
B1:~B10
=IF(A1=10,"",C1*D1)

A B
10   
1   20
2   30
3   42
4   56
5   72
6   90
7   110
8   132
9   156

としますね。(C列,D列は省略します)

"<>"では数式が入っているとうまく行きません。(Excel 2010)
----------------------------------------------------
 =SUMIFS(A1:A10,B1:B10,"<>*")

これはどうでしょうか?

結果
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 45
Empty(空)の場合は...続きを読む

Qエクセルで、合計をもとめたいが、空白セルがある

合計を求めたいのですが、ところどころに空白があります。
今は、一つずつ、金額の入ってるセルをクリックして、+をおしていっています。
簡単にできる計算式教えてください。

Aベストアンサー

SUM関数をお試しください。
連続したセルなら開始セル:終了セル、不連続なら「,」区切りとして下さい。

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

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

Qエクセルで空欄の場合は計算しない方法

A1をA2から引いて答えをA3に入るようにしました。
A1には必ず数字が入るのですがA2は確定したら数字を入れます。
A3の合計を出したいのですがA2に何も記入していない場合0と判断され計算されるので、合計が合いません。
A2に数字を入れて初めて計算されるようにするにはどうしたらいいでしょうか?

Aベストアンサー

セルの中身が空白かどうかチェックするISBLANKという関数があります。

=IF(ISBLANK(A2),"",A1+A2)

こうすれば、A2がブランクの時、この式は長さゼロの文字列を返します。

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セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は?

セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は?

A1~P20の範囲に数字(0含む)と空欄が混在しております。
各横軸で合計値を求め、A~Pまで全て空欄だった場合は、空欄にしたいのですが、
SUMだと「0」と表示されてしまいます。

なお、計算範囲のセルが0と表示されている場合は、結果「0」と表示してかまいません。

ISBLANKで1つ1つのセルを指定していく方法もあるのですが、式が長くなってしまいます。
=IF(AND(ISBLANK(A1),ISBLANK(B1),ISBLANK(C1)・・・・・・),"",SUM(A1:P1))

もう少し短い式で上記のような計算ができる関数はあれば教えてください。

Aベストアンサー

=IF(COUNT(A1:P1)=0,"",SUM(A1:P1))

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エクセル 0や空白のセルをグラフに反映させない方法

以下の点でどなたかお教えください。

H18.1~H20.12までの毎月の売上高を表に記載し、その表を元にグラフを作成しています。グラフに反映させる表の範囲はH18.1~H20.12の全てです。
そのためまだ経過していない期間のセルが空白になり、そこがグラフに反映され見づらくなります。
データを入力する都度グラフの範囲を変更すればいいのですが、うまく算式や設定等で空白や0円となっているセルをグラフに反映させない方法はありますか?

お手数ですが、よろしくお願いいたします。

Aベストアンサー

売上高のセルは数式で求められているのですよね?
それなら
=IF(現在の数式=0,NA(),現在の数式)
としてみてください。
つまり、0の場合はN/Aエラーにしてしまうんです。N/Aエラーはグラフに反映されません。

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む


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

人気Q&Aランキング