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の在庫数はゼロとなります。

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

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

A 回答 (4件)

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



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

で求められます。
    • good
    • 0
この回答へのお礼

簡潔な回答助かります。ありがとう御座いました。

お礼日時:2009/05/13 15:41

    A    B   C   D  E  F  G H  I


1  DATE   FLAG PNUM QNTY   PNUM 1 2 INV
2  20090501   1 a001   2   a001 2 2  0
3  20090502   2 a001   1   a002 5 3  2
4  20090503   2 a001   1   a003 2 1  1
5  20090504   1 a002   5   a004 2 1  1
6  20090505   1 a004   2
7  20090506   2 a003   1
8  20090507   2 a002   3
9  20090508   1 a003   2
10 20090509   2 a004   1
11

G2: =SUMPRODUCT(($C$2:$C$100=$F2)*($B$2:$B$100=G$1),$D$2:$D$100)
I2: =G2-H2
    • good
    • 0
この回答へのお礼

わざわざ例を作っていただいてありがとう御座いました。参考に致します。

お礼日時:2009/05/13 15:46

EXCELのバージョンはいくつでしょう?


配列関数を多用すると非常に重くなるので、
EXCEL2007ならSUMIFSを使った方が良いと思います。
    • good
    • 0
この回答へのお礼

バージョンは2007です。行数が一万を超えるものもあるので、sumifもあわせて勉強しておきます。ありがとう御座いました。

お礼日時:2009/05/13 15:43

一例です。


表範囲をA1:D10、F1以下に品番を事前設定、G1に次の関数を設定し、下方向にコピーで如何でしょうか。
=SUMPRODUCT(($B$1:$B$100=1)*($C$1:$C$100=F1)*($D$1:$D$100))-SUMPRODUCT(($B$1:$B$100=2)*($C$1:$C$100=F1)*($D$1:$D$100))
    • good
    • 0
この回答へのお礼

ありがとう御座います。参考になりました

お礼日時:2009/05/13 15:45

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

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

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

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

Q成績票と成績表のちがい

タイトルどおりですが、みなさんは成績票と成績表をどう使い分けていますか?どちらでも同じ意味に思えるのですが、ハッキリした区分けはありますか?

Aベストアンサー

イメージだけで恐縮ですが、「成績票」というと、一人1票という感じ、つまり一人の成績が全教科分ザラっと載っている1枚の用紙、という感じです。そしてやや厚紙だとなおイメージどおりです(笑)。

対して成績表というと、これはただの表ですから、必ずしも一人1表とは限らず、例えば3年B組の国語の成績表には、マッチもトシちゃんもヨッちゃんも杉田かおるも鶴見伸吾も全部載っている感じです。ただ、「票」と同じような体裁で「成績表」といっても差し支えなさそうです。でも用紙は薄そうな感じです(笑)。

Qエクセルで同じA列の中に、1,2,3,4,5,6,2,3,4,2,1,3,2,2,2,3,1という

エクセルで同じA列の中に、1,2,3,4,5,6,2,3,4,2,1,3,2,2,2,3,1,3,1というような順番で数字が並んでいます。

その数字の中で、1→3と3→1になるものがいくつあるか求めたいのですが、出す関数・マクロがわかりません。
教えていただけないでしょうか?

よろしくお願いします。

Aベストアンサー

こんばんは!

>A列の中に
とは行方向に数値が入っている!というコトでしょうか?

そうであれば
表示したいセルに
=COUNTIFS(A1:A1000,1,A2:A1001,3)+COUNTIFS(A1:A1000,3,A2:A1001,1)
としてみてください。

「1」の次の行が「3」の場合と
「3」の次の行が「1」の場合をプラスしています。m(_ _)m

Q連絡票? 連絡表?

連絡票と連絡表はどっちが正しいのですか?googleでは票のほうが多いけど表も結構ヒットしました。どっちでもいいのでしょうか?

Aベストアンサー

・連絡表
 たとえば学校や職場で連絡事項を書き込んで渡すフォームなどです。
・連絡表
 書かれた連絡事項を一覧表にしたもの

と「票」と「表」では意味が違ってきます。

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Q駅の時刻表と鉄道の時刻表の名称を使い分けたい

鉄道の時刻表には,ある駅に鉄道が来る時間を知らせる時刻表(例えば「水道橋駅の時刻表」)と,ある鉄道がそれぞれの駅に着く時間を知らせる時刻表(例えば「やまびこ50号の時刻表」)とがあると思います。

今私は,両方を「時刻表」と表現しましたが,これらにはそれぞれ正式名称がありますでしょうか。それとも,どちらかは時刻表と言うけれど,どちらかは時刻表とは言わないのでしょうか。

現在,小旅行のためのパンフレットを作成しており,両者を区別できる言葉があればと使い分けたいと思っております。ご存じでしたらお教えください。

Aベストアンサー

正式名称があるかどうかわかりませんが、どちらも「時刻表」で差し支えないと思いますが、あえて使い分けをするなら後者のほうを「運行表」としてみてはどうでしょうか。

QEzcel 2003で、A1,A2,・・・A10,A12の並びかは?

Ezcel 2003で、A1,A2,・・・A10,A12を、並び替えすると、A1,A10とA1の次にA10が来てしまいます。これを、A1,A2,・・・A10,A12のようにするには、どうしたら良いのでしょうか?
よろしくお願い致します。

Aベストアンサー

A01,A02,・・・A10,A12
として、桁数を揃える必要があります。

Q表と票の違い

「送信表」と「送信票」どっちが正しい使い方でしょうか?

Aベストアンサー

この場合は「送信票」です。
簡単に言って
表:図式のこと
票:用紙のこと
です。

Q=IF(A2="",A1,A2)

初心者ですいません。
このやり方で、今日の日付になったときに、A2の表示する方法が
あったら教えてください。

Aベストアンサー

と言う事は、A2が空白である事はあり得ない訳ですから
式としては、

=IF(A3=TODAY(),A2,A1) 今日の日付と同じだったら
もしくは
=IF(A3<=TODAY(),A2,A1) 今日の日付と同じだったら
今日の日付より、過去かもしくは同じだったら

です。

Q「住民票」と「戸籍の附表」の本籍表示や住所表示

どこの役所のどこの課に電話をすればよいのか分からないので、ここで質問させてください。

「住民票」と「戸籍の附表」に記載されている本籍や現住所は一字一句同じですか?

例)住民票:  ニューヨーク市1丁目2番3号 101号
 戸籍の附表: ニューヨーク市1丁目2-3 101号

といった具合に違う場合もあるでしょうか?

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

Aベストアンサー

基本的には住民票記載の住所がそのまま記載されます。
したがって、例のような街区符号と呼ばれる「番」住居番号と呼ばれる「号」がつく地域について、それが省略されることはありません。
なお、海外の場合には一般的に国名のみです。

原則は一緒ということをご理解いただいたうえで、例外についても少し。
本町一丁目などの○○丁目などについて、正しくは「一丁目」と漢字で記載します。
しかし住民票においては数字で記載しても差し支えないという国の回答があり、これを採用している自治体もあるため、
附票では漢字だけど、住民票では数字という違いは生じる可能性があります。

また、住民票は住所地、附票は本籍地で管理します。
住所や本籍の異動があった場合には、その都度管轄の自治体へその旨連絡が行きますが、
通知書の未着や誤記等により、住民票と附票の内容に差異が生じることもあります。

Q=IF(A1<10,TEXT(A1,"0.0"),A1) に<1の時を加えたい

よろしくお願いします。いつもお世話になっています
エクセルは2013です
下記の式1と式2を1つの式で表現したいのですが、どう書いたらいいでしょうか
なんか無理そうな気がしますが、方法があれば教えてください

式1
=IF(A1<10,TEXT(A1,"0.0"),A1)
式2
=IF(A1<1,TEXT(A1,"0.00"),A1)

Aベストアンサー

=IF(A1<1 ,TEXT(A1,"0.00") ,IF(A1<10 ,TEXT(A1,"0.0") ,A1) )

「1より小さい」の条件が成立していなければ、そのまま「10より小さい」の条件で比較。


人気Q&Aランキング