dポイントがお得になるネット回線は?

関数について教えて下さい。

SUMIF関数で条件に合うセル内の数値を合計するのは出来るのですが
その条件に更に条件を加えたいのですがやり方がわかりません。

下記の画像でD28セルに8/1~8/3までの間の海山商事さんの個数を
合計して表示させるにはどんな関数が入るでしょうか?

SUMIF関数で全期間の海山商事さんの個数を合計する事はできますが
期間を指定する関数がどうしてもわかりません。

初歩的な質問かもしれませんがよろしくお願いします。

「指定した期間内での数値を合計する関数。」の質問画像

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

A 回答 (3件)

こんにちは。



8/3までの個数から8/1以前の個数を引けば8/1~8/3までの個数になります。

=SUMIF(B5:B20,"<=8/3",F5:F20")-SUMIF(B5:B20,"<8/1",F5:F20")

今回は8/1から始まっていて以前がないので、8/3までの個数を求めればSれが答えになります。
    • good
    • 5
この回答へのお礼

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

もっと簡単な関数だと思っていました…

関数って難しいですね。

こうゆう関数はご自分で考えて作っていらっしゃるんですか?

本当尊敬します…

お礼日時:2014/09/09 17:01

EXCELのバージョンが2007以降なら



D28=SUMIFS($F$5:$F$20,$C$5:$C$20,$C28,$B$5:$B$20,">="&LEFT(D$27,FIND("~",D$27,1)-1),$B$5:$B$20,"<="&MID(D$27,FIND("~",D$27,1)+1,5))
    • good
    • 0
この回答へのお礼

かなり複雑な関数ですね。

やりたい事に対してなん種類も関数があるんですね…

もっと関数使えるようになりたいです。

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

お礼日時:2014/09/09 17:02

D26セルに、


8/1
と記入し、

D27セルに、
8/3
と記入し、

D28セルに 
=SUMPRODUCT((B5:B20>=D26)*(C5:C20=C28)*F5:F20)-SUMPRODUCT((B5:B20>D27)*(C5:C20=C28)*F5:F20)
と記入してみてください。
    • good
    • 0
この回答へのお礼

やはり2つの指定した条件でカウントしていくのは無理なんですね…

個数を引かなくては値は出ないんですね。

参考になりました。

ありがとうございます。

お礼日時:2014/09/09 17:05

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

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

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

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

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

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エクセルで特定の列にある日付データの中から、指定した日付範囲を抽出する方法を教えてください

例えばこんなデータなのですが、

2002/07/01 99 25 36
2002/07/05 55 33 25
2002/08/01 80 20 51

日付の入っている列を検索して、2002/07/01から2002/07/31
の範囲ならば、その行のデータを別のシートに抽出したいのですが、
日付の範囲は関数でどうすればよいのか分かりません。ACCESSなら
between 9999/99/99 and 9999/99/99って感じで簡単にできるの
ですが。。。エクセルの関数だとIF関数の論理式にAND関数を使って
>=2002/07/01
<=2002/07/31
と入力したので、2002/07/05ならば、いずれもTRUEなので、値を返して
くれると考えたのですが、なぜかダメでした。
(↓こういう入力をしました)
=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

Aベストアンサー

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

------------余談--------------------------
ご質問の条件例の場合特例で 2002/7でればOKなので

=IF(TEXT(Sheet2!A1,"yyyym")="20027",Sheet2!A1,"該当月ありません")

でも可能ですね!

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

--...続きを読む

Qエクセルで 指定する期間内の数値を合計する関数はありますか?

エクセルで 指定する期間内の数値を合計する関数はありますか?
自分に合う家計簿をエクセルで自作してるのですが、カード払いの集計でつまづいています。

Aカード10/15~11/14・Bカード10/11~11/10(締め日)までの期間に使用した
カードの合計を別シートのセルに表示したいのです。

たとえばですが、11月の家計簿シートで
11/ 1 Bカード 1000円
11/ 9 Aカード 1000円
11/10 Aカード 1000円
11/16 Aカード 1000円
を使用したとして、

 Aカード 2000円(12月支払い額のセルに金額表示)
 Aカード 1000円(1月支払い額のセルに金額表示)
 Bカード 1000円(12月支払い額のセルに金額表示)

と金額だけを表示させたいと思います。
可能でしょうか?
または似たような表示方法があれば伝授お願いします。

結局は、11月に使用した金額を何月にいくら支払うのかを把握できるようにしたいということです。
説明が下手で申し訳ないのですが アドバイスいただけたら助かります。


よろしくお願いします。

エクセルで 指定する期間内の数値を合計する関数はありますか?
自分に合う家計簿をエクセルで自作してるのですが、カード払いの集計でつまづいています。

Aカード10/15~11/14・Bカード10/11~11/10(締め日)までの期間に使用した
カードの合計を別シートのセルに表示したいのです。

たとえばですが、11月の家計簿シートで
11/ 1 Bカード 1000円
11/ 9 Aカード 1000円
11/10 Aカード 1000円
11/16 Aカード 1000円
を使用したとして、

 Aカード 2000円(12月支払い額のセルに金額表示)
 ...続きを読む

Aベストアンサー

こんばんは!
色々方法はあるかと思いますが・・・
一案です。
↓の画像のような配置にしてみました。
A列は通常の日付でシリアル値・E列は各月の1日のシリアル値にして表示形式をユーザー定義から
yyyy/m としています。

そして、各カードの各月の始まりから締日をI~K列のような表にしています。

F2セルに
=SUMPRODUCT(($A$2:$A$1000>=DATE(YEAR($E2),MONTH($E2)-1,VLOOKUP(F$1,$I$2:$K$3,2,0)))*($A$2:$A$1000<=DATE(YEAR($E2),MONTH($E2),VLOOKUP(F$1,$I$2:$K$3,3,0)))*($B$2:$B$1000=F$1)*($C$2:$C$1000))
という数式を入れ、列方向と行方向にオートフィルでコピーすると
画像のような感じになります。
尚、元データの1000行目まで対応できる数式にしています。

尚、「0」が目障りであれば当方使用のExcel2003の場合は
メニュー → ツール → オプション → 表示タブで「ゼロ値」のチェックを外せば
「0」は表示されなくなります。

あくまで一つの案ですので
他に良い方法があれば読み流してくださいね。m(__)m

こんばんは!
色々方法はあるかと思いますが・・・
一案です。
↓の画像のような配置にしてみました。
A列は通常の日付でシリアル値・E列は各月の1日のシリアル値にして表示形式をユーザー定義から
yyyy/m としています。

そして、各カードの各月の始まりから締日をI~K列のような表にしています。

F2セルに
=SUMPRODUCT(($A$2:$A$1000>=DATE(YEAR($E2),MONTH($E2)-1,VLOOKUP(F$1,$I$2:$K$3,2,0)))*($A$2:$A$1000<=DATE(YEAR($E2),MONTH($E2),VLOOKUP(F$1,$I$2:$K$3,3,0)))*($B$2:$B$1000=F$1)*($C$2:$C$1000))
...続きを読む

Q期間と条件を指定してカウントする関数。

下記の図でG4~I6に入る関数を教えて下さい。

ピボットテーブルを試しましたがよく分からず、COUNTIFS関数を使用しましたが
日付の入力の仕方がいまいちわかりません。

試しにG4に入力した関数は以下の通りです。

=COUNTIFS(D:D,"○○",C:C,8/16:8/21)

この8/16~8/21という指定の仕方がわかりません。

どういう関数を入れればカウントできますでしょうか?
あと出来ればこのフォームを使い回したいので表のG3~I3の数字を変えるだけで
カウント出来るようにしたいのですが可能でしょうか?

宜しくお願いします。

Aベストアンサー

回答No.1の数式に一部誤りがありましたので訂正します。
G4=COUNTIFS($D:$D,F4,C:C,">="&LEFT(G$3,FIND("~",G$3)-1)*1,$C:$C,"<="&MID(G$3,FIND("~",G$3)+1,LEN(G$3))*1)
   ↓
G4=COUNTIFS($D:$D,$F4,$C:$C,">="&LEFT(G$3,FIND("~",G$3)-1)*1,$C:$C,"<="&MID(G$3,FIND("~",G$3)+1,LEN(G$3))*1)

数式中のC:Cを$C:$Cに、F4を$F4に修正しました。

誤りの内容はセルの指定で$が不足しているため右にコピーしたとき検索条件範囲が移動してしまうことです。
検証時にはH3セルとI3セルの範囲に入るデータが存在しなかったのでチェック漏れになりました。

あなたの検証で全てが0と表示されることとは異なるチェックミスです。

QExcelで日別に入力されたデータを月別に集計するにはどうしたらいいのでしょうか。

Excelで月別の集計をしたいのですが
例えば
  日付    数量
10月25日  200
10月27日  150
10月30日  120
11月 1日  200
11月 3日  150
のように、日付が飛び飛びで連続していなくい日々の数量を、上の行から順番に入力していった場合に(月が替わる行が決まっていない)月別の集計を取る方法はないでしょうか。


 

Aベストアンサー

どのように集計する月を指定するのかが書かれていませんが、例えば11月分の合計を出したいなら

1)11月までの合計から10月までの合計を引く方法
 =SUMIF(A:A,"<=11/30",B:B)-SUMIF(A:A,"<=10/31",B:B)

2)月が「11」のB列を合計する方法
 =SUMPRODUCT((MONTH(A2:A100)=11)*(B2:B100))

なども考えられます。

でもエクセルなら一番オーソドックスな方法はピボットテーブルでしょう。C列に
 =TEXT(A1,"YYYY/MM")
で「2008/11」のような文字列を生成しておいてピボットテーブルで集計すれば、シート上にある全ての月の合計が一発で求められます。
ピボットテーブルの使い方はGoogleなどで検索したらたくさん見つかります
http://www.viplt.ne.jp/tomy/pibot.html

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エクセル COUNTIF関数 検索条件を 5月中のように広く指定したい

エクセル COUNTIF関数で
検索条件の項目を
一つの数値や文字列でなく、
シリアル値で入力されている5月というふうに指定したいのですが、
どのように入力したらいいのでしょうか。

仮に
=COUNTIF(A1:A10,検索条件)
として、A1からA10にはシリアル値で日付が入力されているとして
5月1日から5月31日を調べたいとき
検索条件にどのように入力したらよいでしょうか。

宜しくお願いします。

Aベストアンサー

B列を作業列に使います。

(1)B1に「=MONTH(A1)」と入力し、A10までコピー
(2)C1に「=COUNTIF(B1:B10,5)」と入力

これで5月の数がC1に出ます。

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

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

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エクセルで一週間単位で数値を集計する方法について質問です。

エクセルで一週間単位で数値を集計する方法について質問です。

毎週”日曜日まで”で区切った合計数値を算出したいのですが、
月が変わったりすると、また合計する範囲を選択し直さなくてはならないのが面倒です。
曜日を入力している箇所があるので、”日”と表示される箇所を数えたりして、
1週目・2週目の合計を自動で計算できる方法はありますでしょうか。

必ず”日曜日”で区切るので、5月でしたら、5/1~2、5/3~5/9・・・と
数値を合計したいです。

↑とても説明が下手だと思うのですが、
画像から汲み取っていただけましたら、是非解決策を頂きたいです。

Aベストアンサー

あまり詳しくないですが回答させてください。

A3 [=IF(NOT(MONTH(A2)=MONTH(A2+1)),"",A2+1)] A2に月の初めを入力すると自動的に日にちが表示されます。
B2 [=IF(A2="","",WEEKDAY(A2))]右クリック→セルの書式設定→ユーザー定義[aaa]
D2 [=IF(B2=1,0,1)]
D3 [=IF(A3="","",IF(B3=2,D2+1,D2))]
F4 [=MAX(D2:D32)]
F5 [=MIN(D2:D32)]
F6 [=IF(F5+1>$F$4,"",F5+1)]
H5 [=SUMIF($D$2:$D$32,F5,$C$2:$C$32)]

あとは下にびろーんとやってみてください。
間違えがあれば連絡下さい。


人気Q&Aランキング

おすすめ情報