
以下のような、ある施設の利用者一覧表です。
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という数字を求めたいのです。
出来れば作業列を使いたくないのですが、やむをえない場合はしょうがないかなと思います。
宜しくお願いします。
No.9ベストアンサー
- 回答日時:
#7です
◆すでに同じ回答をzap35さんがされていました
◆大変失礼しました
◆文字列または数値で途中空白があってもよい方法で別の式(少し長いですが)
=INT(SUMPRODUCT(1/SUBSTITUTE(COUNTIF(A1:A100,A1:A100),0,100)))
◆もし、ID番号が数値であればこんな方法も
=COUNT(1/FREQUENCY(A1:A100,A1:A100))
=COUNT(1/FREQUENCY(A1:A100,A1:A100))
↑この関数は数値限定のようですが簡単でいいですね。
ありがとうございました。
No.8
- 回答日時:
#6です。
#6の最後の方で言った、SUMPRODUCT関数の利用例です。
例データ A列
001
002
001
002
003
004
002
004
006
007
上記以外のどこかのセルに
=SUMPRODUCT((COUNTIF(OFFSET($A$1,0,0,ROW(A1:A10),1),A1:A10)=1)*1)
と入れる
結果
6
SUMPRODUCT関数で出来ないかなと思い色々と試してみたのですが、こういう方法があったんですね。ありがとうございました。
またOFFSET関数は初めて見ました。これから勉強したいと思います。
No.7
- 回答日時:
◆途中に空白があっても範囲は一致していなくともできますよ
=COUNT(INDEX(1/(MATCH(A1:A100,A1:A100,)=ROW(A1:A100)),))
No.6
- 回答日時:
配列数式でもできます。
例データ
001
002
001
003
002
003
001
004
003
006
003
007
件数を出すセルに
=SUM(IF(COUNTIF(OFFSET($B$2:$B$100,0,0,ROW(B2:B100)-1,1),B2:B100)=1,1,0))
と入れて、SHIFT,CTRL,ENTERのキーを同時に押す。
結果
8
なお式の中ではB列100行までを対象にしてます。適当に変えてください。
式の意味は、最上行から注目行までに付いて、注目行の内容でCOUNTIFを出して、結果が1すなわち、初出行なら1を加えて(それ以外は0を加えて)全行に渉る合計を出してます。
注目行が下に行くにつれ、範囲を1行づつ広げてますが、そこが配列数式で技巧を使う点です。それ以外は人間が見て数える場合と似た素直な考えを式に表現しているだけです。
ーー
配列数式とSUMPRODUCTは相補的ですので、SUMPRODUCT関数でも出きるかも知れません。(ただし本質問の既出回答のSUMPRODUCTとは違う式の形)
No.5
- 回答日時:
#04です。
式が間違っていました=COUNT(INDEX(1/(MATCH(B2:B100,B2:B100,0)=ROW(1:99)),))
になります。B2:B100は99行ありますのでROW関数は1:99を指定します。
この式も元はここで教えてもらったものです。
意味は本当はご自身で考えていただきたいのですが、配列数式を使っています。自分のセルの値でMATCH関数でB列を検索すると以下の結果が得られます。(式は「=MATCH(B2,B2:B100,0)」を下方向にコピーする)
これがROW(1:99)で発生する行番号と一致すると、そのIDははじめて出現し、一致しない場合は2度目以降に出現したことになります。
B列
ID
A0001 → 1 検索した結果=1行目の行番号と一致 → 初出
B0002 → 2 検索した結果=2行目の行番号と一致 → 初出
A0001 → 1 検索した結果=3行目の行番号と一致しない → 2度目以降
簡単にはこの一致した行数を数えていると考えてください。
1を割っているのは空白行の対策です。不一致の時はこれにより値が#DEV/0!エラーとなります。COUNT関数はエラー値は数えませんので空白行を無視することができます。
No.4
- 回答日時:
B列の途中に空白がなければ
=SUMPRODUCT(1/COUNTIF(B2:B100,B2:B100))
でB列の重複しないID数を求められます
B列の途中に空白がある場合は、多少長くなりますが
=COUNT(INDEX(1/(MATCH(B2:B100,B2:B100,0)=ROW(B2:B100)),))
で求められます。
COUNT関数をコピペしてみたのですが、ゼロになってしまいます。
また宜しければそれぞれの意味を教えて頂けますか?
例えば『INDEX(1/』とか『=ROW(B2:B100)』とかです。
No.1
- 回答日時:
「データ」「フィルタ」「フィルタオプションの設定」で
「重複するレコードを無視する」チェックを使えば、
利用者を重複せずに抽出することが出来ますよ。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
まあ、ID順にソートすれば、重複したIDはまとまって出てきますので
目視でチェックしても、=IF(A1=A2,0,1) としてカウントしてもいいん
ですけど。計算が終われば日付順にソートしなおせば元に戻りますし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- SQL Server SQL 期間内の実施数を合計したい 2 2023/03/03 22:28
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- その他(IT・Webサービス) Yahoo!でログインしようとするとなぜか「不正利用が疑われる操作もしくは行為が検知されたため、利用 5 2022/11/01 16:07
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- YouTube YouTubeのコンテンツIDについて教えてください。 1 2022/05/18 08:13
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
このQ&Aを見た人はこんなQ&Aも見ています
-
フィルターかけた後、重複を除いてカウントしたい。 すみませんアドバイスお願いします! 取引コード 販
Excel(エクセル)
-
=SUBTOTAL に =COUNTIF の機能を実装2
Excel(エクセル)
-
エクセルでフィルターにかけたセル数だけカウントする方法はsubtotal(集計方法,範囲)だと分かっ
Excel(エクセル)
-
-
4
オートフィルタ絞込みの後、データ数のカウント方法
その他(Microsoft Office)
-
5
エクセルでフィルタ後の列の重複を回避したい
Excel(エクセル)
-
6
=SUBTOTAL に =COUNTIF の機能を実装
その他(Microsoft Office)
-
7
オートフィルタの選択肢数を数えたいのですが・・・
Excel(エクセル)
-
8
EXCEL SUMPRODUCTとSUBTOTALについて
Excel(エクセル)
-
9
Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について
-
エクセル GROUPBY関数について...
-
エクセルの複雑なシフト表から...
-
【マクロ】変数に入れるコード...
-
エクセルのリストについて
-
Amazonでマイクロソフトオフィ...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
Excelで4択問題を作成したい
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
【マクロ】【相談】Excelブック...
-
他のシートの検索
-
【マクロ】実行時エラー '424':...
-
エクセル
-
グループごとの個数をカウント...
-
グループごとの人数のカウント
-
グループごとの人数のカウント
-
【画像あり】オートフィルター...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報