
いつも大変お世話になっております。
例えば図のような場合、C列でフィルタするとB列に製品名が表示されますが、この時に製品名の重複を避けた一覧表をどこかに表示したいのですが。
A列にカウント(COUNTIF($B$2:$B$12,B2)-COUNTIF(B2:B12,B2)+1)でナンバリングして1でフィルタして重複回避しようとしましたが、C列に空白セルが有ることが分かりこの方法ではダメだと分かりました。
どなたか回避方法を教えてください。
VBAはあまり使ったことが無いのですが簡単なVBAならOKです。

No.5ベストアンサー
- 回答日時:
失礼しました。
ようやく質問の意図が理解できました。
そもそもカウント数が間違っているという事になりますね。
COUNT関数ではなく、COUNTIFS関数で数を数えるようにしてみましょう。
それで解決すると思う。
・・・
同じ行にあるB列とC列のセルの値が等しい行の数を数えるという事です。
COUNT($B$2:B2,B2)
↓
COUNTIFS($B$2:B2,B2,$C$2:C2,C2)
これで「1」が返る行だけを表示させればいい。
当方も前回のご回答への補足後、この質問の内容ならCOUNTIFSが使えることに気付きました。
がしかし、
実はどこかの補足で書いた?ようにこの表は実際には横に大きくて20列程度あり今後も増える可能性大の表です。
また、フィルタもC&Dとか、E&Hでフィルタした時のB列の重複の場合もありますので、今回の課題をCOOUNTIFSでは補助列がその分必要になる事に気付きました。
それなら最終フィルタ後のB列の結果を他のシートにコピペして、重複削除をかけるのが現実的かと。
何度もお手数をお掛けしましたが、本件は出直しとさせていただきます。
今の感じでは、最終フィルタ後の「B列を他のシートにコピペ&重複削除」をマクロの記録で「ボタン」クリックで解消できるかと。
本当にありがとうございました。
No.6
- 回答日時:
C列が空白であるかどうかは関係なく、仮に空白が『C』であっても同じことが起こるように思われます。
対応策としては、B列とC列をつなぎ合わせた文字列の重複をカウントすればよいと思います。
添付図参照です。
A~C列は質問文より引用しました。E~F列が対応策です。
E2セルに『=(COUNTIF($F$2:$F$12,F2)-COUNTIF(F2:F12,F2)+1)』を入力します。
F2セルに『=B2&C2』を入力します。
E2~F2セルをデータ最下行までコピペします。
その状態で、C列を『A』、E列を『1』でフィルタをかければ完成です。

No.4
- 回答日時:
No2です。
>ご回答の回答例ではB列の重複を回避した結果ではないでしょうか?
ご質問文に「製品名の重複を避けた一覧表」とあるけれど、B列の重複を除くという意味ではないのでしょうか?
>C列の機器Aor機器Bの2択ではなくC列にも複数の要因があって
>これらでフィルターしたときに表示されるB列の重複削除がしたいのですが。
説明してあるつもりですが、サンプルは「AまたはB」でフィルターをかけた例です。
その他のフィルタで行いたければ、その部分を入れ替えることで実現できます。
>当方Office2019ですが、UNIQUE関数が使えないようです。
はい。365環境とお断りしておきました。(2021でも可能)
2019の関数でも同様のことは可能ですが、かなり複雑になるので、No2の数式ですらフィルタの意味が伝わっていないようですので、複雑な関数になってしまうと(多分)増々無理であろうと推測します。
一番簡単なのは、
1)手動でフィルタをかけて
2)B列をどこかのシートにコピペ
3)2)の列を、エクセルの基本機能の「重複を削除」で処理
ではないかと思います。
まぁ、マクロや関数でも可能ですけれど、上記の方法がわかりやすいのではないでしょうか。
全く仰る通りで、ご回答の一番簡単な方法で対応しようとして、取り合えず実際にこれでリストにしました。
何か簡単なアイディアが有るかと・・・
お手数を桶化しました。
No.3
- 回答日時:
(´・ω・`) よくよく考えてみたらオートフィルタで、
A列で「1」を選択。
C列で機器「A」を選択。
この順でも良いんじゃないの?
2か所にフィルタを掛けるのです。
その結果をコピーして貼り付けるか、
あらかじめ全体をコピーしたものにフィルターをかけて表示すれば良い。
質問の例では、C列で「A」と「空白」を選んでいるような気がするんですがいかがでしょう。
(「B」と「空白」は表示してほしくないんでしょ?)

たびたびのご回答ありがとうございます。
午後一でお礼(補足)したつもりでしたがアップせずに閉じたようなので再度の補足です。(もし重複していたらごめんなさい)
当方も最初はそう思ってA列にCOUNT数を入れてみたのですが、危なくミスリードしそうになったので質問させてもらいました。
例えばご回答の表でABC1は機器Aを使う場合と、使用しないケースがあります。
この表のポイントは最初にHITしてくる製品名が機器列(C列)が空白の場合です。
2回目のフィルターでC列で機器AでフィルターするとABC1が落ちてしまします。
ご回答の図でも機器Aを使用したABC1が12行目にあるのに消えています。
似たような製品名が混在した中から機器A(B・・・・)を使用した製品名の一覧を作成するのが目的です。
最初の質問内容に抜けや誤解を招くような表現があったらご容赦ください。
No.2
- 回答日時:
こんにちは
例えば、C列のフィルタで「AまたはB」をかけると、3行目の「ABC2」と8行目の「ABC2」が残りますが、これをC列の値は無視して重複と見做して省きたいということで良いでしょうか?
>重複を避けた一覧表をどこかに表示したいのですが。
別の列に表示するので良ければ、フィルタ操作をせずに関数でも可能です。
365環境であれば、例えば、上記の例とするなら、F2セルに
=UNIQUE(FILTER(B2:B15,(C2:C15="A")+(C2:C15="B"),""))
を入力すると、F2:F8に以下のようにスピルされます。
ABC2
ABC3
ABC5
ABC4
ABC9
ABC10
ABC1
ご回答ありがとうございます。
当方Office2019ですが、UNIQUE関数が使えないようです。
また、ご回答の回答例ではB列の重複を回避した結果ではないでしょうか?
当方はC列の機器Aor機器Bの2択ではなくC列にも複数の要因があってこれらでフィルターしたときに表示されるB列の重複削除がしたいのですが。
このお礼の内容が的外れならご容赦!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) A列にある値をB列・C列にVBAで切り出し 3 2022/04/09 19:20
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Excel(エクセル) エクセルのCOUNTIF関数の使い方 1 2022/04/25 15:50
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルの循環参照、?
-
【関数】同じ関数なのに、エラ...
-
【マクロ】列を折りたたみ非表...
-
【マクロ】【配列】3つのシー...
-
【マクロ】アクティブセルの時...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】A列にある、日付(本...
-
vba テキストボックスとリフト...
-
エクセル
-
【エクセル】期限アラートについて
-
Excel 複数のセルが一致すると...
-
【マクロ】WEBシステムから保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報