

添付画像にあるように、B列とC列に単語のリストがあります。
B列とC列の差集合をE列に表示させたいと思っています。
なお、A列はB列の単語の頻度で、その数値をD列にも残したいです。
ちなみに、
=INDEX(A:A,SMALL(IF(COUNTIF(B:B,A$1:A$100),9999,ROW(A$1:A$100)),ROW(C1)))&""
というやり方でやっていたのですが、時間とマシンパワーを必要とするため、別の方法があったら、ぜひ教えていただきたいと思っています。
どうぞよろしくお願いしますm_ _m

No.4ベストアンサー
- 回答日時:
こんにちは!
>時間とマシンパワーを必要とするため・・・
とありますのでVBAでの一例です。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
尚、データは1行目からあるとしています。
Sub test() 'この行から
Dim i, k As Long
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If WorksheetFunction.CountIf(Columns(3), Cells(i, 2)) = 0 Then
k = k + 1
With Cells(k, 4)
.Value = Cells(i, 1)
.Offset(, 1) = Cells(i, 2)
End With
End If
Next i
Application.ScreenUpdating = True
End Sub 'この行まで
※ 関数でないので、データ変更があるたびにマクロを実行する必要があります。
お望みの方法でなかったらごめんなさいね。m(_ _)m
No.3
- 回答日時:
No.2です。
ごめんなさい、No.2で、数式中の数字を間違えました(行を削除した後の式を貼ってしまいました)。正しくは次の式です。=countif($C$7:$C$10,b1)=0
どうもありがとうございました。
ベストアンサーとさせて頂くか迷ったのですが、申し訳ありません。
教えていただいた式でも可能であることを確認しました。
色々な方法があることも分かって、とても勉強になりました。
ありがとうございました。
No.2
- 回答日時:
一発で算出しなくてもいいなら、該当/非該当を表示する作業列を作り、非該当の行だけ削除するのが簡単かと。
D・E列に何も入力されていないものとして話を進めます。
(1)A1:B4とC1:C4の行番号が重ならないよう、C1:C4をワークシート内のよその行か、別シートに移動。今回はC7:C10に移したとする。
(2)新しく空白セルとなったC1セルに次式を入力。
=countif($C$5:$C$8,b1)=0
(3)オートフィルでC1:C4を埋める。計算結果として「TRUE」か「FALSE」が表示される。
(4)C1:C4をコピーし、D1:D4に値のみ貼り付け。
(5)D1:D4を選択した状態で、置換の機能(Ctrl+H)により、「false」→「」(未入力)の置換を実行。
(6)D1:D4を選択した状態で、ジャンプのダイアログ(Ctrl+G)を開き、「セル選択」ボタンの中の「空白セル」を指定して「OK」ボタンを押下。
(7)空白セルのみ選択された状態となっているので、削除のダイアログ(Ctrl+ -(マイナス))で、「行全体」を指定して「OK」ボタンを押下。
No.1
- 回答日時:
>時間とマシンパワーを必要とするため、別の方法があったら、ぜひ教えていただきたい
今の「その」配列数式で限界を感じているなら、多少の手入れをしてもどのみち劇的な改善はありません。
素直に
D1:
=IF(COUNTIF(C:C,B1),"",ROW(D1))
以下コピー
F1:
=IFERROR(INDEX(A:A,SMALL(D:D,ROW(F1))),"")
G1:
=IFERROR(INDEX(B:B,SMALL(D:D,ROW(G1))),"")
以下コピー
などのようにしてしまえば、ほとんどストレスなしに結果を得られるはずです。
どうもありがとうございました。
ベストアンサーとさせて頂くか迷ったのですが、申し訳ありません。
色々な方法があることも分かって、とても勉強になりました。
大変感謝しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
マイクロソフト オフィスのサポ...
-
Office2021を別のPCにインスト...
-
エクセル 日付順に並べてかえた...
-
大学のレポート A4で1枚レポー...
-
Excelで〇のついたものを抽出し...
-
パソコンWindows11 Office2021...
-
エクセル:一定間隔で平均値を...
-
エクセルで質問です。 ハイパー...
-
エクセル 同じ数字を他の列に自...
-
【Excel VBA】PDFを作成して,...
-
Teamsで課題を提出します。 画...
-
エクセルやパワポファイルの保...
-
マクロ自動コピペ 貼り付ける場...
-
libreoffice calcで行を挿入し...
-
Microsoft Office Homeインスト...
-
表の作成について
-
office365のファイルで「Office...
-
【マクロ】違うブックのCallス...
-
PDFのハイパーリンクを自動的に変更し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
エクセルからメールを作れるか...
-
Microsoft365、ページ設定がで...
-
快活CLUBについて 私用で使う書...
-
パソコンWindows11 Office2021...
-
libreoffice calcで行を挿入し...
-
エクセルで質問です。 ハイパー...
-
outlookのメールが固まってしま...
-
Microsoft Formsの「個人情報や...
-
別シートの年間行事表をカレン...
-
Microsoft Formsでクイズの解答...
-
マクロ自動コピペ 貼り付ける場...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
エクセルで特定のセルの値を別...
-
Officeを開くたびの「再起動メ...
-
office2019 のoutlookは2025年1...
おすすめ情報