ウォッチ漫画『酒男子』新連載開始!

EXCELで条件に合致したデータから、さらに重複するデータを1と数える
ことが関数で出来るでしょうか?

例えば
  A ,B ,C
1 見積No 、担当者、商品名
2 111、山田、パソコン
3 111、山田、プリンタ
4 222、佐藤、HDD
5 333、山田、パソコン
6 444、青木、パソコン
7 555、山田、HDD

パソコンの担当者ごとの見積もり件数はという問いに対して
 山田 2件
 佐藤 0件
 青木 1件
という解答を求めたいのです。
見積Noが同じ場合は同じ見積書で明細が2行の場合で、これを1件と数えたいのです。
フィルタで絞った後に、=SUMPRODUCT(1/COUNTIF(A2:A100,A2:A100))
という関数を試しましたが、フィルタを無視して全ての件数が対象となってしまいました。
SUMに対するSUBTOTAL関数のようなものがあれば便利だったのですが…。

うまく質問出来たのか不安ですが、判る方お願いします。 m(__)m
 

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

A 回答 (4件)

こんにちは!


外していたらごめんなさい。

↓の画像のようにSheet1のデータをSheet2にまとめるようにしてみました。
Sheet2のC2セルに検索商品名を入力すると、B列に件数を表示させるようにしています。
Sheet2の氏名欄はあらかじめ入力されているものとします。

Sheet1の作業用の列を2行使わせてもらっています。
D2セルに
=A2&C2
E2セルに
=IF(OR(Sheet2!$C$2="",C2<>Sheet2!$C$2,COUNTIF($D$2:D2,D2)<>1),"",ROW(A1))
として、D2・E2セルを範囲指定し、E2セルのフィルハンドルで下へずぃ~~~!っとコピーします。

そして、Sheet2のB2セルに
=IF(A2="","",SUMPRODUCT((Sheet1!$B$2:$B$100=A2)*(Sheet1!$E$2:$E$100<>"")))
という数式を入れ、オートフィルで下へコピーしています。

尚、数式はSheet1の100行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば幸いですが
的外れなら読み流してくださいね。m(__)m
「EXCELで条件に合致したデータから、さ」の回答画像2
    • good
    • 1
この回答へのお礼

ありがとうございます!
凄い!完璧です。助かりました。

関数の意味はなんとなくしか判りませんが、見積番号を一つ上のセルと比較して差があれば行数を表示。
その表示された個数と担当者名で算出するというところなのでしょうか。

とにかく感謝です。ありがとうございました!

お礼日時:2010/02/04 19:13

No.1です。


私の勘違いです、私の全ての回答を無視してください、失礼しました。
    • good
    • 0
この回答へのお礼

いえいえありがとうございました。
また助けてください!

お礼日時:2010/02/04 19:56

No.1です。


私なら数式を複雑にしない為に、見積No 、担当者、商品名を & で繋げたものを作り
=A2&B2&C2
PennyLane005さんの最初のご質問の式を、作成した補助列に置き換えて見ますが・・・
    • good
    • 0

こんな事では?



=SUMPRODUCT((B2:B7="山田")*(C2:C7="パソコン"))

文字のとこを、セル番地に変更しても可
例えばF2に山田、G2にパソコンと入力されていたら
=SUMPRODUCT((B2:B7=F2)*(C2:C7=G2))
    • good
    • 0
この回答へのお礼

回答ありがとうございます。_m(. .)m_

すいません!私の説明不足です。

見積番号が同じで、かつ商品名も同じで明細が複数にまたがるものがあります。
見積番号の重複は省いてカウントしたいのです。

例えば
2.5行目に 111、山田、パソコン
というデータが追加された場合に、山田さんの見積件数はあくまで2件という具合です。

お手数おかけしますが、お願いします!

お礼日時:2010/02/04 10:10

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

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

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

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

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

Q複数条件で重複しないデータをカウントする方法

困っています。
エクセルの関数を教えてください。
複数条件に該当するデータをカウントする方法を教えてください。

A列とB列には不特定多数の名称と地名が入力されています。
このような表です。

A列(品名)    B列(出荷先)    
いちご       東京
いちご       埼玉
いちご       東京 
みかん       山梨
みかん       岐阜
りんご       埼玉 
りんご       大阪
りんご       大阪
以下1500品目

A列のいちごでB列の出荷先が東京であるものは2件あります。
この「件数」を関数で表示させる方法を教えてください。
よろしくお願いいたします。

Aベストアンサー

分かり易く簡単で計算に負担のかからない方法は作業列を作って対応することです。
作業列が目障りでしたらその列を選択して右クリックして「非表示」を選択すればよいでしょう。
1行目は項目名が有るとしたらC2セルには次の式を入力して下方にオートフィルドラッグコピーします。

=A2&B2

D2セルには次の式を入力して下方にオートフィルドラッグコピーします。

=IF(C2="","",IF(COUNTIF(C$2:C2,C2)>1,COUNTIF(C$2:C2,C2),""))

これでダブったデータが該当する行までにあればダブりの回数がD列に表示されます。単にダブりの回数を表示させるのに比べてダブりの行がはっきり示されるのがよいでしょう。

また、ダブった品名と出荷先を例えばシート1に元のデータがあるとしてシート2に表示させるとしたらシート1のD2セルには次の式を入力して下方にオートフィルドラッグコピーします。

=IF(C2="","",IF(COUNTIF(C:C,C2)>1,MAX(D$1:D1)+1,""))

シート2の例えばA2セルには次の式を入力してB2セルまでオートフィルドラッグコピーしたのちに下方にオートフィルドラッグコピーしたのちに下方にもオートフィルドラッグコピーします。

=IF(ROW(A1)>MAX(Sheet1!$D:$D),"",INDEX(Sheet1!$A:$B,MATCH(ROW(A1),Sheet1!$D:$D,0),COLUMN(A1)))

A列には品名がB列には出荷先は表示されます。
シート2のC2セルには次の式を入力して下方にオートフィルドラッグコピーします。

=IF(A2="","",COUNTIF(Sheet1!$C:$C,A2&B2))

これでC列にはダブりの回数が表示されます。

分かり易く簡単で計算に負担のかからない方法は作業列を作って対応することです。
作業列が目障りでしたらその列を選択して右クリックして「非表示」を選択すればよいでしょう。
1行目は項目名が有るとしたらC2セルには次の式を入力して下方にオートフィルドラッグコピーします。

=A2&B2

D2セルには次の式を入力して下方にオートフィルドラッグコピーします。

=IF(C2="","",IF(COUNTIF(C$2:C2,C2)>1,COUNTIF(C$2:C2,C2),""))

これでダブったデータが該当する行までにあればダブりの回数がD列に表示されます。...続きを読む

Qエクセル関数 重複をのぞいて個数を数える方法

いつもお世話になっています
セルに
a  b  c  a  b b
と入力したとき、個数を数える方法は知っていますが、種類が3個だと集計するにはどんな関数を使えばいいのでしょうか。

Aベストアンサー

下記URLの方法は如何でしょう。

「重複しないデータを数える」
http://integer.exblog.jp/2132536/

「リストから重複するデータをはぶいた件数(個数)をカウントする」
http://ameblo.jp/xls/entry-10073848203.html

「重複しないセル数」ユーザー定義関数の説明
http://www.katch.ne.jp/~kiyopon/soft/juhukunai.html

QEXCEL 重複するデータを1としてカウントする方法

以下のような、ある施設の利用者一覧表です。

A列には利用した日にち、B列には利用者のIDがあります。

A   | B
日にち | ID
01/10 | 0001
01/10 | 0002
01/13 | 0001
01/15 | 0003
01/17 | 0001

これをEXCELで延べ人数ではなく、同じIDが複数回出てきても1とカウントしたいのですが方法が分かりません。
上記の表では0001、0002、0003しかありませんので3という数字を求めたいのです。

出来れば作業列を使いたくないのですが、やむをえない場合はしょうがないかなと思います。

宜しくお願いします。

Aベストアンサー

#7です
◆すでに同じ回答をzap35さんがされていました
◆大変失礼しました

◆文字列または数値で途中空白があってもよい方法で別の式(少し長いですが)
=INT(SUMPRODUCT(1/SUBSTITUTE(COUNTIF(A1:A100,A1:A100),0,100)))

◆もし、ID番号が数値であればこんな方法も
=COUNT(1/FREQUENCY(A1:A100,A1:A100))

Qエクセルで重複した文字列を1としてカウントする方法

こんにちは
エクセルで親子の名簿を作っているのですが
複数子供がいる場合の世帯数をカウントしたいのですが
簡単な方法はありますか?
Microsoft Office Excel 2007です。

阿部
阿部
黒木
黒木
安藤
井上
田中

この場合5と数えたいです。
よろしくお願いします。

Aベストアンサー

初心者向きではないが、列は使わずともできます。
データの範囲が、A2~A99なら、
=SUMPRODUCT(1/COUNTIF(A2:A99,A2:A99))

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エクセルで重複するデータを数えない方法

こんばんは。いつもお世話になっております。
今、表を作成しているのですが、例えば列に、
・インド
・インド
・インドネシア
・インドネシア
・カンボジア
とあるときに、データは5つですが国の種類は3つですよね、その3をだしたいのですが、どうしたら求められますでしょうか?
初歩的な質問で申し訳ないのですが、どなたかご教授お願いいたします。

Aベストアンサー

こんにちは~

データが A2:A50にあるとして、
=COUNT(INDEX(1/(MATCH(A2:A50,A2:A50,0)=ROW(A1:A49)),0))

と入れてみてください( ↑をそのままコピー&ペーストしてください )

◆最後のほうの ROW(A1:A49) は指定範囲のセルの個数です。
A2:A50ならセルの個数は49個なので ROW(A1:A49) とします。
データが何行目から始まっていても必ず 1から始めてください。
A3:A100の範囲なら、ROW(A1:A98) のように。

=SUMPRODUCT(1/COUNTIF(A2:A50,A2:A50))

という比較的短い式でもできますが、
この式だと誤差が出るケースもあるのであまりオススメできません。
範囲内に空白セルが 1つでもあるとエラーになりますし…

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qエクセルで列にあるユニークなデータの個数が知りたい

おはようございます。

エクセルでA列に以下のようなデータがあるとします。
この中で何種類のデータがあるのかを知りたいのです。
この場合は、AAA,BBB,CCC,DDD,EEEの5種類なので5という答えが欲しいのです。
ただし、A列に入るデータは非常に多岐(800種類以上)に渡ります。
また、印刷を前提としてるためソートなどはできません。
さらに1枚のシートにこのようなデータがいくつかあるので、その決まった範囲内で個数を抽出する必要があります。
なにとぞ皆様のお知恵をお貸しくださいませ。
よろしくお願いします。
AAA
AAA
BBB
CCC
AAA
DDD
DDD
BBB
DDD
DDD
EEE
EEE

Aベストアンサー

◆途中に未入力セルがあってもカウントします
=COUNT(INDEX(1/(MATCH(A1:A1000,A1:A1000,)=ROW(A1:A1000)),))

Qエクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてください。

               A列   B列    C列
Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。
Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。

AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。

VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

Aベストアンサー

こんばんは!
一例です。
↓の画像で右側(Bファイル)の方に作業用の列を設けています。
作業列D2セルを
=A2&B2
としてオートフィルで下へずぃ~~~!っとコピーします。

そして、AファイルのD2セルに
=IF(OR(A2="",COUNTIF([Bファイル.xls]Sheet1!D$2:D$1000,A2&B2)=0),"",INDEX([Bファイル.xls]Sheet1!C$2:C$1000,MATCH(A2&B2,[Bファイル.xls]Sheet1!D$2:D$1000,0)))
という数式を入れ、オートフィルで下へコピーすると
画像のような感じになります。
尚、数式はBファイルの1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば良いのですが
他に良い方法があれば読み流してくださいね。m(__)m

QEXCELでの重複データカウント方法について

会社名のデータが1万件あります。
その中には、同じ会社名が重複しているものがあります。
そこで、重複しているデータは1つのものとしてカウントし、全部で何件の会社が存在するかカウントする方法はあるでしょうか?

Aベストアンサー

1)集計したSHEETを全選択してコピー
2)別のSHEETに形式を選択して貼り付け(値だけ)
3)会社名カラムで、[データ]-[フィルタ]-[オートフィルタ]
4)出てきた三角形をクリックして、(オプション)
5)「個数」で「終わる」を選択してフィルタ実行
6)コピーして別のシートに貼り付け

EXCELのバージョンによって(6)の動作は変るかもしれません。
上手くいかなかったら、セルで選択してコピー、列で選択してコピー、行で選択してコピー、全部試してみてください。

それでもだめなら、
(1)集計行の前に一列追加
(2)追加した空の列に =RIGHT(B1,6) と入力(注:B1は会社名のセル)
   これで、追加した列は「データの個数」と表示されるはず
(3)(2)を全行にコピー
   つまり、集計行の頭には「データの個数」が並ぶ。他の行はブランク。
(4)追加した行を[データ]-[並べ替え]

これで、集計行だけが一箇所にあつまるはず
   


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

人気Q&Aランキング