再びお世話になります。
シート1の対象年月と商品が一致した売上をシート2で集計したいのですが、上手く集計が取れなかったのでご教示ください。

【表】シート1のA1からC5にデータが入力されているとして。
   (CSVで出力の為、すべて文字列状態)
  A列      B列      C列
1 日付      商品     売上金額
2 20150401   卵      100
3 20150409   卵      110
4 20150502   パン     200
5 20160102   野菜     50
6 20160110   野菜     80


シート2で集計します。
【作業日が2017/04/16として、前年度の前月と同月の売上を集計します】
・A1=作業日当日日付、B1=前年前月とC1=前年同月はDATE関数でA1を元に年月を出しています。
・D列はシート1のA列を、E列でTEXT関数で日付表示にしてからD列でDATE関数でこの表記に変えていますので、5000行程続いています。(TEXT関数だと形式が一致しないようだったので…)

  A列      B列      C列     D列(日付作業列)
1 (作業日日付)  2015/03/16 2015/04/16 2015/04/01  
2 卵.............................................................2015/04/09
3 パン..........................................................2015/05/02
4 野菜

このような状態で、
B2には、B1とD列の前7文字が一致(年月が一致) かつ A2とシート1のB列の表示が一致(商品が一致)したものの売上合計を表示。
いきなり全体の式を組むのは私には無理なので、少しずつ計算していこうとしたのですが、
B2に「=SUMIF(D:D,LEFT($B$1,7)&"*",シート1!C:C)」と入れてみたものの計算が反映せず行き詰ってしまいまいた…。
皆さまのお知恵をお借りしたく、宜しくお願いいたします。

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

A 回答 (5件)

まず、やりたい事を順番にまとめて、それに応じた適切な作業列を設けましょう。



やりたい事について
①作業日の日付(シート2!A1)から前年前月(シート2!B1)と前年同月(シート2!C1)を表示させる。
②シート2のB列・C列に「シート1のA列の月が、シート2の1行目に表示した月と一致するシート1のデータから、シート1のB列がシート2のA列と一致するデータの、シート1のC列に表示された金額を合計したもの」を表示させる。

作業列例について
①については特に作業列は必要ありませんが、検索したいのは年月の分かる6桁の数字なので、
シート2!B2=TEXT(DATE(YEAR(A1)-1,MONTH(A1)-1,1),"yyyymm")
シート2!C2=TEXT(DATE(YEAR(A1)-1,MONTH(A1),1),"yyyymm")
としましょう。
日にちは関係ないので、年月をA1とから算出し、日は1日にしています。
質問者の例の状態では、B2=201503、C2=201504、とそれぞれ表示されるはずです。

②についてですが、
合計を計算するためには、シート1のC列を文字列ではなく数値で表示させる必要があります。
よってシート1のD列を作業列とし、
シート1!D2=C2*1
これをデータの数だけ↓にコピーしましょう。
*1とすることで、C2が数値として利用できるデータが文字列として入っている場合、数値として扱って計算結果を表示してくれます。
*1なので、値としては同じですね。+0としてもかまいません。

これで準備は整いました。
シート2のD列で表示させたデータは特に必要ないというわけですね(汗
あとは結果を表示させるだけです。
シート2!B2=SUMIFS(Sheet1!$D:$D,Sheet1!$A:$A,B$1&"*",Sheet1!$B:$B,$A2)
これを表の分だけ(例の場合C4まで)コピーしましょう。

あくまでシート1のデータが全て文字列として入力されていた場合です。
結果が合わない場合は、おそらく文字列として入力されていると思い込んでいるだけ、
といった可能性もあります。(CSVについては良く知りませんので)
    • good
    • 0
この回答へのお礼

引き続きのご回答ありがとうございます。
行き詰っていたせいで分かりにくい表記の質問になってしまっていましたが、分かりやすく整理して頂き、頭の中がすっきりしました。
②はシート1に他にも多くの項目が入っているため、シート2のD列を入れ替えで使ってみました。
詳しく解説頂きありがとうございます!解決しましたm(__)m

お礼日時:2017/04/16 23:17

>(CSVで出力の為、すべて文字列状態)


まず、特に、加工した状態でなければ、文字列状態とはいいませんが……。
また、書式やプログラムで、そんな面倒なことをしてはいないはずです。
Sheet1 のCSVは×インポート◯オープンしたものになるのですが、たぶん、単に開いただけのものだと思います。(インポートは、データ加工してから表に入れること)

私は前の経緯を読んでいないのですが、少し内容的にわかりにくく感じています。

Sheet1 CSVを、
>E列でTEXT関数で日付表示にしてから
>D列でDATE関数でこの表記に変えていますので、5000行程続いています。
Text関数から、日付値(シリアル値)に変更出来ますが、DATE関数は使いません。

その日付値をどう処理するかで決まるはずです。
SUMIF でも出来ますが、文字列にすべて置き換えていくのも問題ですね。
正統派としたら、シリアル値の日付表示にするところだと思います。
-------------------------
そうすると、#2様のおっしゃっているように、
「SUMIF」ではなく、「SUMIFS」関数を選ばなくてはなりません。
ということは、また最初から降り出しに戻らなくてはなりません。

1.
Sheet1 D列は、タイトルは[日付SR(仮)]
=TEXT(A2,"##!/##!/##")*1  これで、シリアル値になります。
  ↓
とします。シリアル番号そのものが出てきてしまいます。表示が気になるなら、書式を設定してください。

2.
Sheet2:B2~(右へ)
=SUMIFS(Sheet1!$C:$C,Sheet1!$B:$B,$A2,Sheet1!$D:$D,">=" &DATE(YEAR(B$1),MONTH(B$1),1),Sheet1!$D:$D,"<=" &DATE(YEAR(B$1),MONTH(B$1)+1,0))

なお、表示が遅いようでしたら、C:C や D:D を使わずに、C$2:C$10000 と範囲を限定した方がよいかもしれません。Excel2003までは、そのスタイルは問題なかったようですが、仕様が変わったそうです。

'-----------------
>  A列      B列      C列     D列(日付作業列)
1 (作業日日付)  2015/03/16 2015/04/16 2015/05/16 ←5月になるはず  

1行目は、書式で、YYYY年M月としたほうがよいでしょう。
    • good
    • 0

ちょっと意味不明な点があります。



(CSVで出力の為、すべて文字列状態)とありますが、シート1のC列はCSVファイルを読み込んでも、EXCELシートでは数値に変換されているはずですが。

シート2のA列の品名は手入力したものですよね?

D列はシート1のA列(文字列の日付)を通常の日付に変換したものなので、シート2のD列ではなく、シート1のD列に表示すべきものではありませんか?

E列に日付作業列をもうけなくてもD列に次の式で直接変換できます。

=DATEVALUE(LEFT(Sheet1!A2,4)&"/"&MID(Sheet1!A2,5,2)&"/"&MID(Sheet1!A2,7,2))

なお、該当するセルの書式設定はyyyy/mm/ddとします。

上の式を使って日付をシート1のD列に表示するようにしたとすると画像のようになります。

複数条件での合計はSUMIF関数を使うのですが、今回の場合hSUMIFS関数を使ってみたのですがうまくいきませんでした。

なので、SUMPRODUCTを使っています。

シート2のB2に下の式を入力し、B列とC列にコピーして下さい。

=SUMPRODUCT((Sheet1!$B$2:$B$6=$A2)*(YEAR(Sheet1!$D$2:$D$6)=YEAR(B$1))*(MONTH(Sheet1!$D$2:$D$6)=MONTH(B$1))*Sheet1!$C$2:$C$6)

なお、式中の$6の部分は$5000のように、データーの列数によって適宜書き換えて下さい。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
売上数字については自分の思い込みで、数値になっておりました。
シート1については、実は他にCZ列あたりまで項目があるという事と、毎月データの更新で1000行程が増えるという事情があるので、触らないようにしてシート2で作業列を作りました。
教えて頂いた通りのやり方で、シート1のD列を変えた場合だとうまく集計がとれました。シート2に作業列を持ったままの場合ももう少し頑張ってみます!

お礼日時:2017/04/16 22:19

シート2のB1セルは、日付に見えていますが、シリアル値となっていますのでその式ではダメかと思います。


シリアル値に対して、LEFT対応では意味がありません。

良く分からないのですが、元データ(全売上)はシート2なのですか? 5000行もあるっていうのなら。
SUMIF関数じゃなくて、普通に SUMIFS関数(複数条件を満たすものの合計)を使ってはどうですか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
行き詰って頭が混乱しており、分かりにくい表記になってしまってすみません。。
元データはすべてシート1です。日付に見えてシリアル値というお言葉に、あ…、と思いました。確かにLEFTでは意味がなかったですね…。

お礼日時:2017/04/16 22:10

致命的な障害が1点あります。

シート1はすべて文字列とのことですが、C列の売上金額も文字なのですよね?SUM系の関数は、文字を相手にしてくれないので、このままでは集計することができません。売上金額だけでも数字にすべきです。

売上金額が数字であれば、次の数式で集計できるはずです。

【シート2!B2セル】=SUMIFS(シート1!C:C,シート1!A:A,TEXT($B$1,"yyyymm")&"*",シート1!B:B,$A2)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
売上数字は文字列だと思い込んでいただけでした…。
教えて頂いた式は上記のサンプル表では問題なく動いたのですが、集計したい表に入れると上手く集計が取れませんでした。もう一度日付のあたりを見直します!

お礼日時:2017/04/16 22:06

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

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

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

Qエクセル 関数について

エクセルの関数について教えてください。
不明な点が3点あります。

①・・・ シート1→a1=田中 a2=鈴木 a3=高橋 b1=月火土 b2=木金 b3=水土
上記の表があって、シート2のa列に、『シート1のa列に(土)と入っている人の名前を抽出する』関数が知りたいです。
②・・・ a1=2017 a2=4と入力しているシートのb3c3d3e3...と横方向に『その月の土曜日だけを抽出する』関数が知りたいです。

③・・・ 同じくa1=2017 a2=4と入力しているシートのa3a4a5...と縦方向に『その月の日付を抽出する(4月は30日までで31日は空白となるような)』関数が知りたいです。

宜しくお願い致します。

Aベストアンサー

こんにちは!


Sheet2のA1セルに
=IFERROR(INDEX(Sheet1!A$1:A$10,SMALL(IF(ISNUMBER(FIND("土",Sheet1!B$1:B$10)),ROW(A$1:A$10)),ROW(A1))),"")

配列数式ですので、Ctrl+Shift+Enterで確定! → フィルハンドルで下へコピー!


どこか使っていないセル(仮にC1セルとします)に
=DATE(A1,A2,0)-WEEKDAY(DATE(A1,A2,0)-6,2)
という数式を入れておきます。(前月の最終土曜日のシリアル値を表示)
B3セルに
=IF(MONTH($C1+7*COLUMN(A1))=$A2,$C1+7*COLUMN(A1),"")
という数式を入れ5週分のF3セルまでフィル&コピー!


A3セルに
=IF(MONTH(DATE(A$1,A$2,ROW(A1)))=A$2,DATE(A$1,A$2,ROW(A1)),"")
という数式を入れ下へ31日分フィル&コピー!

※ 配列数式は①だけです。
※ ②・③に関してはセルの表示形式は好みの日付にしておいてください。m(_ _)m

こんにちは!


Sheet2のA1セルに
=IFERROR(INDEX(Sheet1!A$1:A$10,SMALL(IF(ISNUMBER(FIND("土",Sheet1!B$1:B$10)),ROW(A$1:A$10)),ROW(A1))),"")

配列数式ですので、Ctrl+Shift+Enterで確定! → フィルハンドルで下へコピー!


どこか使っていないセル(仮にC1セルとします)に
=DATE(A1,A2,0)-WEEKDAY(DATE(A1,A2,0)-6,2)
という数式を入れておきます。(前月の最終土曜日のシリアル値を表示)
B3セルに
=IF(MONTH($C1+7*COLUMN(A1))=$A2,$C1+7*COLUMN(A1),"")
という数式を入れ5週分のF3セルまでフィ...続きを読む

Q2週間悩んでます。EXCELの並べ替えです。

下の表を数式で右(G)のように並べ替えたいのですがご教授お願い致します。

A  B  C         G
1  0  0         1
2  0  0         2
3  1  a         a
4  0  0         3
5  1  b         4
6  0  0         b
7  0  0         5
8  0  0         6
9  1  c         7
10  0  0         8
-------------------------------- c
-------------------------------- 9
-------------------------------- 10

どうしても4の処で引っかかってしまいます。
よろしくお願いいたします。
------- はG列が左に寄ってしまうので書いてます。
無視して結構です。

Aベストアンサー

ん?…
こちらではきちんと並んだのですが…

D列は上から順に1,2,4,5,7,8,9,10,12,13と表示されてますでしょうか?

G列の
=IF(COUNTIF(AD:AD,ROW())=0,INDIRECT("AC"&MATCH(ROW()-1,AD:AD,FALSE)+1),MATCH(ROW(),AD:AD,FALSE))
は入力ミスなく一致していますね?
aが入力されているのはC3、bはC5、cはC9で、その左は1、B・C列の他の行は0、A列は行番号ですね?

とりあえず中身を分解して確認してみましょう。
表示のずれている3行目の、どの列でもいいので、次の式を入力して、それぞれに表示されるものを教えてください。

=COUNTIF(D:D,ROW())
これはD列にその行番号が含まれている数を算出しています。3は含まれていないハズですので0であれば正解です。

=MATCH(ROW()-1,D:D,FALSE)
これは1つ上の行の行番号がD列の何行目にあるかを表示させる式です。
2行目の2なのでD2で一致し、2が表示されれば正解です。

=INDIRECT("C"&MATCH(ROW()-1,D:D,FALSE)+1)
これは先ほどの2に1を加えて3とし、C3のデータを表示させるものです。
C3はaであるので、aが正解です。

=MATCH(ROW(),D:D,FALSE)
これはCOUNTIFが0でなかった場合の式です。
なので確認する必要はないと思いますが、
そのセルの行番号をD列で検索し、何行目にあるかを表示します。
3はD列にないはずなので、エラーが正解です。

ん?…
こちらではきちんと並んだのですが…

D列は上から順に1,2,4,5,7,8,9,10,12,13と表示されてますでしょうか?

G列の
=IF(COUNTIF(AD:AD,ROW())=0,INDIRECT("AC"&MATCH(ROW()-1,AD:AD,FALSE)+1),MATCH(ROW(),AD:AD,FALSE))
は入力ミスなく一致していますね?
aが入力されているのはC3、bはC5、cはC9で、その左は1、B・C列の他の行は0、A列は行番号ですね?

とりあえず中身を分解して確認してみましょう。
表示のずれている3行目の、どの列でもいいので、次の式を入力して、それぞれに表示されるものを教えて...続きを読む

QEXCELでプルダウンリストを3段階で連動させる方法について教えて下さい

EXCELでアンケートを作成しようと思っておりますが、EXCELの知識が乏しく、詳しい方々のお知恵を拝借したく質問致しました。
作成したいのは下記のようなプルダウンリストです。

A1のセルの選択肢・・・
1 北海道地方 2 東北地方 3関東地方 4 中部地方 5 近畿地方
A2のセルの選択肢 ・・・
(A1のセルで「2 東北地方」を選択した場合)
1.青森 2.秋田 3.岩手 4.山形 5.宮城 6.福島
A3のセルの選択肢・・・
(A2のセルで「1.青森」を選択した場合)
1.青森市 2.弘前市 3.八戸市 4.むつ市 5.つがる市

上記のように、A1のセルで「2 東北地方」を選択したら、A2のセルでは東北地方の県名だけが表示されるようになり、さらにA2のセルで「1.青森」を選択したら、A3のセルでは青森県内の市町村名だけが表示されるようにしたいのですが、どのように作成したらよろしいのでしょうか。
また、アンケートのもとになるデータが既にあり、「2 東北地方」、「1.青森」、「1.青森市」と文字の前にに数字が入っており、「東北地方」だけではなく「2 東北地方」というように選択肢の中に文字だけではなく数字も残したままにしたいです。
よろしくお願い致します。

EXCELでアンケートを作成しようと思っておりますが、EXCELの知識が乏しく、詳しい方々のお知恵を拝借したく質問致しました。
作成したいのは下記のようなプルダウンリストです。

A1のセルの選択肢・・・
1 北海道地方 2 東北地方 3関東地方 4 中部地方 5 近畿地方
A2のセルの選択肢 ・・・
(A1のセルで「2 東北地方」を選択した場合)
1.青森 2.秋田 3.岩手 4.山形 5.宮城 6.福島
A3のセルの選択肢・・・
(A2のセルで「1.青森」を選択した場合)
1.青森市 2.弘前市 3.八戸市 4.むつ市 5....続きを読む

Aベストアンサー

セル範囲に名前を付けていると思いますが、名前に使える文字には制限があって、今回の場合は次のところで引っかかると思います。
・先頭の文字が数字ではいけない
・空白が含まれてはいけない(他にも使えない文字が含まれているかも…)

よって、名前を付ける際は、次のような工夫が必要になります。
・接頭語を付ける(例えば、”L_” )
・空白を ”_”(アンダーバー)に変換する

例えば、「1 北海道地方」の県名リストは、”L_1_北海道地方”とします。
その上で、A2セルに次のようなリスト設定を行ってみて下さい。

=INDIRECT("L_" & SUBSTITUTE(A1," ","_"))


しかし、「すでに元データはある」とはいっても、結構、しんどい作業になりますよね~。「名前を付けるマクロ」みたいなものを考えた方が良いかもしれませんよ。

Qエクセルの数式について教えて下さい( ; ; )こんな数式って作れますか?困ってます。

エクセルで
例) 0.1235 ≒ 0.124
10.75 ≒ 10.8

0.1245 ≒ 0.124
10.85 ≒ 10.8 など

このように
最初の0を除く左から4番目の数字が5で終わり、且つ5の一つ前の数字が奇数の場合は5を切り捨てる。
しかし、最初の0を除く左から4番目の数字が5で終わり、且つ5の一つ前の数字が偶数の場合は5を切り上げる。

こういう法則の数式をエクセルで作ることはできるのでしょうか。
教えて下さい。
エクセルにそこまで詳しくなく、本当に困ってます。

教えて下さる方、具体的な数式を作って教えて頂けるとありがたいです。

宜しくお願い致します(>_<)

Aベストアンサー

えっと…例と説明文で切り捨て切り上げが逆だと思うのですが…
奇数なら切り上げ、偶数なら切捨て(偶数になるように五捨五入)したい。
ということでよろしいでしょうか?
また、4番目が5以外であれば、四捨五入(5を含まないので五捨五入も四捨五入も同じ)でよろしいでしょうか?

A1に数字があるとして、
=IF(RIGHT(INT(A1*10^-(INT(LOG10(A1))-3)),1)="5",IF(MOD(RIGHT(INT(A1*10^-(INT(LOG10(A1))-2)),1),2)=0,ROUNDDOWN(A1,-INT(LOG10(A1))+2),ROUNDUP(A1,-INT(LOG10(A1))+2)),ROUND(A1,-INT(LOG10(A1))+2))
でいかがでしょう?

A1の値を10の「A1の値が10の何乗か(LOG10)を整数部分だけ取り出し(INT)、-3したものにマイナスをかけた値」乗し、右端の値(RIGHT)、(=先頭部分が0以外で、左から4番目の数値)が5であり、
 (同様にして)左から3番目の数値が2で割って(MOD)余りが0(つまり偶数)なら4番目の数値を切り捨て(ROUNDDOWN)
 余りが0でない(つまり奇数)なら4番目の数値を切り上げ(ROUNDUP)、 
5でないならば、4番目の数値を四捨五入(ROUND)する。
という式です。

試してみてください。

えっと…例と説明文で切り捨て切り上げが逆だと思うのですが…
奇数なら切り上げ、偶数なら切捨て(偶数になるように五捨五入)したい。
ということでよろしいでしょうか?
また、4番目が5以外であれば、四捨五入(5を含まないので五捨五入も四捨五入も同じ)でよろしいでしょうか?

A1に数字があるとして、
=IF(RIGHT(INT(A1*10^-(INT(LOG10(A1))-3)),1)="5",IF(MOD(RIGHT(INT(A1*10^-(INT(LOG10(A1))-2)),1),2)=0,ROUNDDOWN(A1,-INT(LOG10(A1))+2),ROUNDUP(A1,-INT(LOG10(A1))+2)),ROUND(A1,-INT(LOG10(A1))+2))
...続きを読む

Qエクセル Sheet名を自動入力出来るように

初心者なので詳しく教えてもらえると助かります。
Sheet1のセルC18~C34まで任意の文字を打ち込みます。
これをSheet2にSheet1のC18の文字を、Sheet3にSheet1のC19の文字を、、、、
と言う感じでC34までの文字をSheet18まで自動入力するにはどうしたらいいですか?

式をコピペして何処へ貼り付けたらいいのか教えてもらえるとありがたいです。

Aベストアンサー

No.3です。

>エラーは出ないのですが、文字を打ち込んでも何も変わらないのですが、ほかに何か原因があるのでしょうか?

ん?
ご自身でマクロを実行する必要があります。

念のために
① Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
前回のコードをコピー&ペーストしてください。
( Sub Sample1() ~ End Sub まで )

② Excel画面に戻り(VBE画面を閉じて)マクロを実行してください。
Alt+F8キー → マクロ → マクロ実行です。

これで何とかならないでしょうか?m(_ _)m

Q年月日の分離

年月日の分離
Excelで、2016/1/20 を年月日に分けて表示したく、
2016、1、20と表示させることできました。
しかし、データそのものは3つとも、2016/1/20のままです。
データを3つに分ける方法ありませんか。
値複写では、2016/1/20のままです。
left、mid、right関数は思いつきました。
しかし、これでは1桁、2桁ある月日の「場合分け」がありそうで面倒です。
確定申告の医療費の集計で、全件不可の通知があり、この問題と解釈しました。
なお、環境はWin10、Excel2013です。

Aベストアンサー

year,month,day,それぞれに関数をつけてググれば
いっぱい出ます。

Qエクセル関数の不思議?

エクセル関数でお聞きします。
別表のようにc5に 258と数値があります。
これを 6行目に Left関数、Mid関数、Light関数で それぞれ 2,5,8と分解します。
次にこの 2,5,8を Sum関数で =sum(c6:e6)で計算すると 0と表示されます。
次に =c6+d6+e6 で個々に足し算すると 正解の15が表示されます。
これはなぜでしょうか。
また、今状態で SAM関数で正解を導くことはできますか?

Aベストアンサー

LEFT等で抽出したものは文字列となるからでしょうね。
SUMに反映させたければ、6行目の式の最後に*1とか+0を追加してみましょう。

Q再計算の負担度低い関数式

お世話になります。

例題から説明しますと、

J列に「数値、文字列」を入力し、
それがE列からG列の間にある数値、文字列に含まれているかどうかを検索するには、
COUNTIF関数を用いています。

=COUNTIF($E:$G,$J2)

しかし、再計算する上で負担の大きいCOUNTIF関数を用いず、他の関数を用いるとすれば
どんな関数(式)が考えらるでしょうか?

Aベストアンサー

返事ありがとうございます。

#6の補足:
msdnのリンク先
>私のような入門レベルの者にとって、とても難しく、理解するには一苦労ですが、

私もです。合計で5回ぐらい読んで、答えなくてはならなくて、やっと意味が通るようになりました。非常に、わかりにくいです。揮発性とか不揮発性という言葉すら、変な言葉ですからね。不揮発というのは、セルの関数の中に検索データが残るタイプの検索値です。それであれば、負担は大きくないし、COUNTIFも、こちらのタイプです。

別のカテゴリのリンク先の話も同様ですが、かなり難しい内容だと思います。

Q表または行内の重複する数値の削除

エクセル関数でお聞きします。
列の中で重複数値は削除できますが、行の中の重複する数値を削除する方法はありますか。
例えば A2からS2までの行内の重複する数値を削除したいのですが・・・
また 数値が入ったA2からS15の表の中で重複する数値を削除できますか
Office2010です。よろしくお願いします。

Aベストアンサー

データ全体をコピーして
新しーシートに縦横入れ替え貼り付けしたら
列で削除処理できるから
も一度、戻しの縦横入れ替えすれば可能では?

Qデータ抽出を教えてください。

お店の売上管理表を作成しているのですが、どうしてもうまくいかず教授いただきたいです。

売上データシート(EXCEL)の、商品IDと手数料項目が一致した列の金額を別シートに取り出したいです。

具体的に

売上データシートフォーマット
  A列   B列     C列
 商品ID   項目     金額
  1   手数料1    100
  1   手数料2    150
   2   手数料1    100
  3    手数料1    100
  3    手数料2    130
  4    手数料3    200
  5    手数料1    110

抽出結果
  A列   B列     C列   D列
 商品ID  手数料1  手数料2 手数料3
  1    100    150   
  2    100
  3    100    130
  4               200
  5    110

抽出結果A列には商品IDか入っているものとします。


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

お店の売上管理表を作成しているのですが、どうしてもうまくいかず教授いただきたいです。

売上データシート(EXCEL)の、商品IDと手数料項目が一致した列の金額を別シートに取り出したいです。

具体的に

売上データシートフォーマット
  A列   B列     C列
 商品ID   項目     金額
  1   手数料1    100
  1   手数料2    150
   2   手数料1    100
  3    手数料1    100
  3    手数料2    130
  4    手数料3    ...続きを読む

Aベストアンサー

抽出結果シートにおいて、
1.セル B2 に次の[条件付き書式]を設定
 ̄ ̄ ̄ルール→ 0値を含むセルのフォント色を白に書式設定
 ̄ ̄ ̄[セルの値] [次の値に等しい] [=0]

2.次式を入力したセル B2 を右方および下方にズズーッとオートフィル
 ̄ ̄ =SUMPRODUCT((売上データ!$A$2:$A$8=$A2)*(売上データ!$B$2:$B$8=B$1)*(売上データ!$C$2:$C$8))


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

人気Q&Aランキング

おすすめ情報