アプリ版:「スタンプのみでお礼する」機能のリリースについて

複数条件を満たし、かつ、重複を除いた値(ユニーク化した値)を算出する
関数(またはマクロ)を教えてください。
※マクロの場合は、別シートへの出力が希望です。


一度、SUMPRODUCT((Sheet1!$C$2:$C$65536="2011/1/17")*(Sheet1!$D$2:$D$65536
="2011/1/25"))で算出してみましたが、重複した値までカウントしてしまうので、困っており
ます。


日付1と日付2を1つの組み合わせとし、フラグ列の重複を除いた状態(ユニーク化した状態)
で、種類数を算出出来れば嬉しいです。



【元データ】
住所     職業     日付1     日付2       フラグ
東京都    会社員   2011/1/17   2011/1/28   AAA
千葉     会社員   2011/1/17   2011/1/28   BBB
東京都    主婦     2011/1/17   2011/1/28   AAA
愛知     公務員   2011/1/17   2011/1/25   AAA
神奈川    主婦     2011/1/17   2011/1/25   CCC
富山     無職     2011/1/31   2011/2/11   DDD
沖縄     公務員   2011/1/31   2011/2/11   EEE
北海道    無職     2011/1/31   2011/2/11   EEE
埼玉     会社員   2011/1/31   2011/2/11   DDD
沖縄     公務員   2011/3/14   2011/3/25   GGG
千葉     会社員   2011/3/7    2011/3/18    HHH


【希望】
日付1         日付2      数
2011/1/17     2011/1/25    2 ←2011/1/17と2011/1/25の組み合わせで、フラグ列にAAA,CCCの2種類あり
2011/1/17     2011/1/28    2 ←2011/1/17と2011/1/28の組み合わせで、フラグ列にAAA,BBBの2種類あり
2011/1/31     2011/2/11    2 ←2011/1/31と2011/2/11の組み合わせで、フラグ列にDDD,EEEの2種類あり
2011/3/7      2011/3/18    1 ←2011/3/7と2011/3/18の組み合わせで、フラグ列にHHHの1種類あり
2011/3/14     2011/3/25    1 ←2011/3/14と2011/3/25の組み合わせで、フラグ列にGGGの1種類あり



分かり難くて申し訳ありませんが、どうぞよろしくお願いいたします。

A 回答 (1件)

こんばんは!


一例です。
↓の画像のようにSheet1に作業用の列を4列使っています。
作業列1のF2セルに
=IF(A2="","",C2&"_"&D2)
作業列2のG2セルに
=IF(OR(F2="",COUNTIF($F$2:F2,F2)<>1),"",ROW())
作業列3のH2セルに
=F2&E2
作業列4のI2セルに
=IF(COUNTIF($H$2:H2,H2)=1,ROW(),"")
としてF2~I2セルを範囲指定し、I2セルのフィルハンドルでダブルクリック、またはオートフィルでずぃ~~~!っと下へコピーしておきます。
(作業列が目障りであれば数式を入力後、非表示にします)

そして、Sheet2のA2セルに
=IF(COUNT(Sheet3!$G:$G)<ROW(A1),"",INDEX(Sheet3!C:C,SMALL(Sheet3!$G:$G,ROW(A1))))
として、隣のB2セルまでコピー
(セルの表示形式は「日付」にしておきます)
C2セルには
=IF(COUNTBLANK(A2:B2),"",SUMPRODUCT((Sheet3!$C$1:$C$1000=A2)*(Sheet3!$D$1:$D$1000=B2)*(Sheet3!$I$1:$I$1000<>"")))
(SUMPRODUCT関数はデータ量が多すぎるとPCにかなりの負担をかけますので、とりあえず1000行目までとしています)
として最後にA2~C2セルを範囲指定しC2セルのフィルハンドルでオートフィルで下へコピーすると
画像のような感じになります。

以上、かなり泥臭い方法ですが、他に良い方法があればごめんなさいね。m(__)m
「複数条件かつ重複を除いた数を算出する関数」の回答画像1
    • good
    • 0

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