日付け列と商品名(商品ID)列と入庫、出庫列を作ったとして、一日に何回にも分かれて同じ商品が入出庫された場合、伝票でその都度入力したとします。後日見て何日に商品ID"何"が合計何個入庫したかをほかのセルに表示したい場合どのような関数を使えばよいのでしょうか?解りずらい質問ですが、ご回答頂きたく御願い致します。

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

A 回答 (6件)

複数条件で絞り込んで合計したいときは、DSum関数使うと楽です。



A列に日付、Bに商品ID、Cに数量が入っているとします。1行目に列名が入力されていて、2行目からデータが入力されているとします。

まず、適当なセルに検索条件を記述します。

日付 商品ID
4/16 1

(この例では「日付」のセルがG1にくるようにします。)
適当なセルに以下のように記述

=DSum(A1..C1000,3,G1..H2)

これで、4/16日の商品IDが1の商品の数量の合計が取得できます。
参考URLのQ&Aも参考になるかも。DCountをDSumと読み替えれば、あとは同様です。



他には「配列数式」を使ったやり方もあります。
配列数式自体は結構ややこしいんですが、ご質問の内容でしたら、
[ツール]-[アドイン]で「条件付き合計ウィザード」を組み込んだ後、
[ツール]-[ウィザード]-[条件付き合計式]を実行することで、簡単に作成することが出来ます。

参考URL:http://www.okweb.ne.jp/kotaeru.php3?qid=63506
    • good
    • 0
この回答へのお礼

条件付き合計ウィザードでほぼ望んでいた事が出来ました。こんな事も知らないで、Excelを使っているつもりでいたとは、大変恥ずかしいです。有難う御座いました。

お礼日時:2001/04/16 20:47

↓さっきの一部訂正:先にオートフィルタを設定しておいてください。

    • good
    • 0

SUBTOTALを使いますか


Aに日付、BにID、Cに数量とする
2行目から10行目までにデータが有るとします。
C11に式=SUBTOTAL(9,C2:C10)とします。
あとはAとBに対してオートフィルタを設定します。
後は好きな条件でフィルタ値を設定して下さい。
そうするとC11に選択した条件の合計が表示されます。
    • good
    • 0
この回答へのお礼

有難う御座います。色んな雑誌や参考書(初心者向け)にはSUBTOTALなどと言う、関数は出ていなかったと思います。ますますExcelの奥深さを実感いたしました。(あたりまえですか?)

お礼日時:2001/04/16 20:52

複数の条件があると、keronyan さんが書かれた通り、


ピボットテーブルを作るか、マクロを組むしかないですね。

ピボットテーブルを作る程度の操作が許されるのであれば、
オートフィルタも、そこそこ使えます。

シートの全域を指定して、オートフィルタで条件を絞り込んで、
出荷数のセルを範囲指定して、別のシートに貼ります。

で、あらためて、その貼ったものに対して sum() をとる。

面倒ですが、直感的な操作ではあります。
    • good
    • 0
この回答へのお礼

マクロですか・・・・その言葉だけは聞きたくなかったです。(笑)しかしマクロを使えるようにならないと色んなデーターも紙を置き換えた物になりかねませんね。有難う御座いました。またお願い致します。

お礼日時:2001/04/16 18:13

ピボットテーブルを使ってみては出来ないでしょうか。



入力された行の先頭にそれぞれの項目名を付けて、すべてを選択してデータのピボットテーブルを選んでみてください。
それで、行に表示する項目(日付と商品ID)を選択し表示部に個数を選択すると一覧できる表になります。
見るたびに作らないといけませんがいかがでしょうか。
    • good
    • 0
この回答へのお礼

有難う御座います。当社は私がこんな感じですので、ほかの人間が一目で入出庫状況(結構何日に何が何個出たか?とか言う問い合わせが多いのです。)がわかるように、と思ったのですが。何とかピポットテーブルぐらいは教えようと思います。また御願い致します。

お礼日時:2001/04/16 17:40

sumif という関数があります。



商品IDがA列、出荷数がB列にあるときに、

=sumif(a1:a100, "ID-A", b1:b100)

とすると、商品IDが "ID-A" の行のB列の数値の合計を返します。

この回答への補足

こんなに早く回答が頂けるとは思いませんでした。ありがとう御座います。もう少し補足良いでしょうか?範囲、検索条件を工夫すれば出来るのかと思いますが、"何月何日"に、"ID"何が、"何個"入庫したか?まで抽出する方法はありますか?度々スミマセンが宜しく御願い致します。

補足日時:2001/04/16 15:53
    • good
    • 0

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

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

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

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

Qaccess2003 クロス集計クエリに抽出条件を設定する

QNo.3495024にて、「取引先ごとの月次売上(部品別および合計)」をフォーム形式で表示する方法を質問した者です。
1)クロス集計クエリの抽出条件としてこのコンボを設定
2)フォームに置いたボタンでクロス集計クエリまたはそれをソースにした別フォームを開く
という方法を教えていただきました。

昨夜から自分なりに調べましたが、1)のクロス集計クエリに抽出条件を設定する方法がわかりません。 昨日の今日で再質問も気が引けますが、時間がないので質問させてください! ご存知の方、よろしくお願いいたします。

Aベストアンサー

>クロス集計クエリに抽出条件を設定する方法がわかりません。
クロス集計クエリでもデザインビューは同じですよ
異なるのはクロス集計クエリではパラメータのデータ型指定を省略できないという点だけです

[クエリ][パラメータ]でパラメータ名とデータ型を指定してください

Qエクセル、出庫フラグと入庫フラグが混在する表で数量計算

20090501,1,a001,2
20090502,2,a001,1
20090503,2,a001,1
20090504,1,a002,5
20090505,1,a004,2
20090506,2,a003,1
20090507,2,a002,3
20090508,1,a003,2
20090509,2,a004,1
上記の様な表があるとします。
左から日付、出入庫フラグ、品番、数量、とします。
フラグは、"1"の場合は入庫、"2"の場合は出庫とします。

条件、a001の場合、フラグ1の合計から、フラグ2の合計を差し引く。
a001の在庫数はゼロとなります。

つまり同じ品番である場合、各フラグの値を相殺させて在庫高を
出したいのです。在庫数を出力する場所は問いません。
これを関数でどうにかなりませんでしょうか?お教えください。

Aベストアンサー

仮に日付がA列、出入庫フラグがB列、品番C列、数量D列、1行目から300行目までのデータとします。

=SUMPRODUCT((B1:B300=1)*(C1:C300="a001")*D1:D300)-SUMPRODUCT((B1:B300=2)*(C1:C300="a001")*D1:D300)

で求められます。

Q住所録から2つ以上の条件で抽出する関数について

Windows Excel 2003で住所録から2つ以上の条件で抽出するにはどんな関数を使えばいいですか?

例えば住所録で『TELとFAXが異なっている番号の別々のセル』と『TELとFAXが同じ番号のセル(TELとFAXが同じなのでFAXのセルは空欄)』尚且つ『Eメールのある会社名』を抽出する関数はありますか?

Aベストアンサー

どういうレベルで要っているのかわかりませんが
>関数はありますか?
単独関数ではありません。2つ以上の関数を組み合わせたり、作業列を使ったりすれば出来るといえます。
単独の関数はあるとも無いとも言えるが、該当分行がつめたカタチでは単独の関数ではありません。
該当が飛び飛びで出てよいなら、IF関数で簡単に出来ます。これわかりますね。
A1 TELNO,B1 FAXNOとして
C1に =IF(A1<>B1,A1,"") D1に=IF(A1<>B1,B1,"")  でよいわけです。
 ここの質問に出るレベルは、ほとんど関数の組み合わせが必要です。
ーー
Googleで「imogasi方式」で照会してください。条件をかけて、抜き出す課題が相当数出てきます。
回答は
A.関数の組み合わせー作業列なし
B.関数の組み合わせー作業列を使うー>Imogasi方式など
などの回答が見られます。
もちろんフィルタやフィルタオプションの設定のお勧めの回答もあるでしょう。
私見では、A.の式が理解できたら、関数は9割5分は卒業です。
関数に拘らず、データ^フィルターフィルタオプションの設定
をお勧めします。(データーフィルタではないですよ)

どういうレベルで要っているのかわかりませんが
>関数はありますか?
単独関数ではありません。2つ以上の関数を組み合わせたり、作業列を使ったりすれば出来るといえます。
単独の関数はあるとも無いとも言えるが、該当分行がつめたカタチでは単独の関数ではありません。
該当が飛び飛びで出てよいなら、IF関数で簡単に出来ます。これわかりますね。
A1 TELNO,B1 FAXNOとして
C1に =IF(A1<>B1,A1,"") D1に=IF(A1<>B1,B1,"")  でよいわけです。
 ここの質問に出るレベルは、ほとんど関数の組み合わ...続きを読む

Qエクセルで、3列に分かれている住所を1列にしたい

今、エクセル上に1500件の住所が入力されています。

A列・・・都道府県
B列・・・市区町村
C列・・・それ以降の住所

となっています。

この3列になっている住所をA列にすべてまとめたいのですが、どのようにしたらいいのでしょうか?
(A列に都道府県+市区町村+それ以降の住所を入れてしまいたいのです)

一件ずつ地道な作業をするには件数が多すぎるため、どうにか一瞬でできないものでしょうか?

Aベストアンサー

たとえばD1に
=A1&B1&C1
でD2以下に式をドラッグしてコピーすれば簡単に出来ますよ。

あとは、D列は数式なのでD列を選択し、メニューの編集から形式を選択して貼り付けで「値貼り付け」して文字列に直します。

Q別シートに複数条件を選択すると抽出され合計値がでてくるような関数はありますか

毎日、以下のような作業内容が手元にくるのですが今までは手でノートに振り分け管理していたのですが、エクセルの関数で別シートに複数条件を選択すると抽出され合計値がでてくるような関数はありますか。
よろしくお願いします。

↓毎日くる作業内容です。
ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる

Aベストアンサー

条件をかけるとして、条件該当の明細を必要としているのか、合計だけでよいのか、質問ではっきりしない。添付画像通常は小さくなり見にくい。
質問文に簡略化した1例(10行以内でよい)を挙げて質問すべきだ。要点を掴む能力と思考力が鍛えられる。
>ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる、の部分。
4条件で加算の例か。
====
条件該当分の明細を出すなら
データーフィルタオプションの設定で出来るはず。
関数関数と言うが、エクセルは第1的には、操作の体系のソフトですよ。他シートにデータを出すのは、他シート側で操作を始めてください。
ーー
関数なら、自称「imogasi方式」で出来ると思います。
Googleで「imogasi方式」で照会すれば数百の例が出ると思います。
現データシート(Sheet1)条件該当分の行にだけ、上の行から順に連番をフリ(式の複写を使う)、他シート(Sheet2)で
Sheet2の行1に-->Sheet1の連番1の行をINDEX関数で持ってくる。
Sheet2の行2に-->Sheet1の連番2の行をINDEX関数で持ってくる。
・・以下同じ。
これを式の複写で自動で行える。
=====
合計だけで良いのなら、多分、条件が多数のものに対する合計をほしい、になり、条件値の組み合わせを手作業でセルにセットするのか、操作関数で出すのかも質問に書いてない。合計を出すより、この条件データを揃える方が、いつも言っているが、難しい。
>複数条件を選択すると抽出され合計値がでてくるような関数
これが文字通り合計計数だけでよいなら、毎日ここに質問が出る
SUMPRODUCT、SUMIFSのどちらかをつかえだけ。質問にエクセルバー順が書いてないのは、エクセルの勉強経験不足。
2007で便利な関数が出来たのは有名な話。

条件をかけるとして、条件該当の明細を必要としているのか、合計だけでよいのか、質問ではっきりしない。添付画像通常は小さくなり見にくい。
質問文に簡略化した1例(10行以内でよい)を挙げて質問すべきだ。要点を掴む能力と思考力が鍛えられる。
>ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる、の部分。
4条件で加算の例か。
====
条件該当分の明細を出すなら
データーフィルタオプション...続きを読む

QExcelを分割 A列には日付、A列以外には営業担当者や商品や金額などが入力された列があります。 営

Excelを分割

A列には日付、A列以外には営業担当者や商品や金額などが入力された列があります。

営業担当者毎に、ファイルを分割するマクロをおしえてください。10人いれば、10ファイルできることになります。

営業担当者が入力されている列が資料により、異なるので、C列に営業担当者が入っている場合は、それをセルとかに入力して指定できる様にしたいです。

また、ファイルの出力先も指定できる様にしたいです。

よろしくお願いします。

Aベストアンサー

No.2 mike_gさんの質問ですが、回答者側から言わせてもらうと非常に重要なことです。
何故なら、質問者のレベルに合わせて回答しないと何の役にも立たないからです。
今回は、マクロの知識があると云うことなので、その前提で回答させていただきました。
こんな感じです。

Sub sample()
Set ws = ActiveSheet
ce = Range("営業担当者セル").Value
fp = Range("出力先").Value
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To Cells(Rows.Count, ce).End(xlUp).Row
Set d.Item(Cells(i, ce).Value) = Cells(i, ce)
Next i
For Each i In d.keys
ws.Copy
Columns(ce).ColumnDifferences(d.Item(i)).EntireRow.Delete
ActiveWorkbook.SaveAs Filename:=fp & "\" & i & ".xlsx"
ActiveWorkbook.Close
Next i
End Sub

No.2 mike_gさんの質問ですが、回答者側から言わせてもらうと非常に重要なことです。
何故なら、質問者のレベルに合わせて回答しないと何の役にも立たないからです。
今回は、マクロの知識があると云うことなので、その前提で回答させていただきました。
こんな感じです。

Sub sample()
Set ws = ActiveSheet
ce = Range("営業担当者セル").Value
fp = Range("出力先").Value
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To Cells(Rows.Count, ce).End(xlUp).Row
Set d...続きを読む

Qエクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。

皆さんどうか教えてください

エクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。

400  70円  ad   6個
700  60円  da 7個  
100  30円 ad   9個
400  50円  ad   10個


などの表で、400で70円でadなものの数を求める
条件で数値を求めるにはどうすればいいのでしょうか

また条件にあったデータに6個などの数値をかけて合計した数値を求めるにはどうすればいいのでしょうか

関数でできる方法をお願いします。


あと”なおかつ”などの条件を行う関数も教えてください

どうかヨロシクお願いします。

Aベストアンサー

#4さんの回答で解決しませんか?

1行に複数のデータが入力されており、全ての列を満たす行数をカウントしたいということですか?
カウント対象が1万行あるとすると
=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)
と必要なだけ入力し、ctrlキーとshiftキーを押しながら
enterキーで式を確定して下さい。そうすると式が
{=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)}
という風な括弧で括られます。(配列数式になる)

列の条件は、数値ならそのまま、文字列なら""で囲います。
セルを指定しても構いません。
(1行目と同じ場合のみカウントという事であれば=A$1等となる)

もし、例の場合でいう400でadの場合の金額*個数を求めたいなら
(例では70円*6個+50円*10個で920円)
=SUM((A1:A10000=400)*(C1:C10000="ad")*(B1:B10000)*(D1:D10000))
をctrlキーとshiftキーを押しながらenterキーです。

後は応用です。

#4さんの回答で解決しませんか?

1行に複数のデータが入力されており、全ての列を満たす行数をカウントしたいということですか?
カウント対象が1万行あるとすると
=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)
と必要なだけ入力し、ctrlキーとshiftキーを押しながら
enterキーで式を確定して下さい。そうすると式が
{=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)}
という風な括弧...続きを読む

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む

Q条件に合うデータを抽出する関数

EXCELで、条件に合うデータを抽出し個数を表示させたいと思っています。
ただしSUMPRODUCTなどの『複数条件の設定』ではなく、『特定の文字列を除く』
という形で設定したいのですが、そのような関数はありますか?

Aベストアンサー

=COUNTIF(範囲,"<>*文字列*")
で出来ませんか?
=SUMPRODUCT(ISERROR(FIND("文字列",範囲))*1)
でも同じに出来ますけど...

Q【EXCEL】条件付き書式、A列、C列、D列、E列が同じ値の時にB列の背景色を変えたい

お世話になります。

エクセルの条件付き書式の数式の使い方について教えて下さい。
A列、C列、D列、E列の値が同じ時にB列のセルの背景を青に
塗りつぶしたいと思っています。

なので、「数式を使用して、書式設定するセルを決定」、
「次の数式を満たす場合に値を書式設定」で、数式を
「=A1=C1=D1=E1」と入力し、書式、塗りつぶし、青、
を選択して、条件付き書式を設定しました。
すると、、、画像のような結果になります。

私の感覚だと画像でセルの値が「11」~「15」の時だけ
B列が青になると思うのですが実際の結果は画像の通りです。

先の話の通りA列、C列、D列、E列の値が同じ時だけ
B列のセルの背景を青にしたい場合はどうい数式になるのでしょうか?

すいませんが、詳しい方、数式(関数?)で説明できる方よろしくお願い致します。

追記
可能でしたらA列、C列、D列、E列が空白の時はB列の背景色をなしにしたいと思っております。
→A列、C列、D列、E列に値があって、かつ同じ値の場合のみB列の背景を青にしたいです。

お世話になります。

エクセルの条件付き書式の数式の使い方について教えて下さい。
A列、C列、D列、E列の値が同じ時にB列のセルの背景を青に
塗りつぶしたいと思っています。

なので、「数式を使用して、書式設定するセルを決定」、
「次の数式を満たす場合に値を書式設定」で、数式を
「=A1=C1=D1=E1」と入力し、書式、塗りつぶし、青、
を選択して、条件付き書式を設定しました。
すると、、、画像のような結果になります。

私の感覚だと画像でセルの値が「11」~「15」の時だけ
B列が青にな...続きを読む

Aベストアンサー

AND関数を使えば判定ができるのでは?
 =AND(A2<>"",A2=C2,C2=D2,D2=E2)

A列には常に判定する数値が入っているなら「A2<>""」は不要です。

参考サイト
http://www.relief.jp/itnote/archives/003940.php


人気Q&Aランキング

おすすめ情報