プロが教える店舗&オフィスのセキュリティ対策術

Excelのセルの重複チェックが出来ること、最近知りましたが、セル単位ではなく、例えば、

⚫︎シート単位
⚫︎ひとつのセルに長文(単語の羅列)がありそのセル内での単語の重複確認

等、出来るなら手順をしりたいです。一つずつの単語なら検索で出来ますが、大勢の人の名前なので1人ずつ確認が手間すぎて(*_*)。Excelに限らず、Wordでも他の方法がありましたら、ご教示ください。

質問者からの補足コメント

  • うれしい

    fujillinさま、あれから「開発」タブを追加して、なんとかVBA書いてみました。そしたら重複タブは黄色い背景セルになるのですね?勉強になりました。ありがとうございました。

    No.4の回答に寄せられた補足コメントです。 補足日時:2023/11/01 21:11

A 回答 (4件)

No1です。



>やはりセル単位では重複を調べることができました。
>一つのセル内に、例えば「山田 野田 野田」と入れてあるセルは反応が
>ありませんでした。
No1で示したのは、そのような場合の一例です。
お断りしてあるように、セル同士を「完全一致」で検索するものます。
何でもできるような万能な方法はありませんので、コピペするのではなく、なさりたい内容に応じた方法を取る必要があります。
(No1は、あくまでも例示ですので)

>この場合のテキスト部分「野田」が2個あるので、
>その野田の重複をピックアップしたいのです。
意味合いとして、セル内での重複をチェックしたいということでしょうか?
であるなら、No1の回答例とは別のアプローチになります。
セル内の文字列をスペースで分割して、重複を調べるような処理が必要になりますね。
TEXTSPLIT関数が使える環境であれば、関数でもチェック可能かも知れませんが、私の環境では利用できませんので、VBAを利用してしまったほうが手っ取り早いことになります。

例えば、区切り文字を「全角スペース」として、「セル内に文字列の重複があるもの」を探すという、簡単な例ならこんな感じでしょうか。
(セル内改行は考慮していません)
こちらも、「あくまでも例示」です。(念のため)

※ 原文で投稿すると、ここのと投稿チェックではじかれるので、4行目の
 Set Dic = C@reateObject("S@cripting.Dictionary")
は、「@」マーク2か所を削除してください。


Sub Sample()
Dim Dic, v
Dim c As Range, i As Long
Set Dic = C@reateObject("S@cripting.Dictionary")

With Range("A1:E10") ' 対象セル範囲
.Cells.Interior.Color = xlNone
For Each c In .Cells
Dic.RemoveAll
v = Split(c.Text, " ")
For i = 0 To UBound(v)
If Dic.exists(v(i)) Then
c.Interior.Color = vbYellow
Exit For
Else
Dic.Add v(i), 1
End If
Next i
Next c
End With
End Sub
この回答への補足あり
    • good
    • 1
この回答へのお礼

再びありがとうございます!当方エクセルに詳しくなく、、、VBAなんてまったく、、、( ᵕ ᵕ̩̩ )ご丁寧に関数をいただいても、シートに何をどこにどうすればいいのか、さっぱりなんです。名前と名前はスペース区切りです。手順書があればできそうな気もするのですが、ご負担をおかけできないので、これを機にちょっと勉強してみようと思います(>人<;)

お礼日時:2023/10/31 16:42

> 例えば「山田 野田 野田」



名前と名前がスペースで区切られているという前提ならVBAで関数を作れば出来ると思います。
対象セルをsplit関数で配列にバラしてForで回して重複チェック、というのが思いついた方法ですけど。
もっと良いやり方あるかも。
    • good
    • 1
この回答へのお礼

ありがとうございます。名前と名前はスペース区切りになってます。当方エクセルに詳しくなく、、、VBAなんてまったく、、、( ᵕ ᵕ̩̩ )でも出来そうとわかったので、出来るかはさておき、あとは勉強してみます!

お礼日時:2023/10/31 16:38

Control+Fで、出来ませんか?

    • good
    • 1
この回答へのお礼

ありがとうございます。これは「検索」ボックスが出てきますね。一つずつ調べれば良いのですが、100語以上の重複単語を検索するには、一つずつは手間なので、一気にできないかとお尋ねした次第です。。。

お礼日時:2023/10/31 13:16

こんにちは



チェックしたい内容やチェック結果をどのように表示するのかなど、曖昧な部分が多々あるので、抽象的な回答になってしまいますが、それだとご理解いただけないことが多分に予想されますので・・・

以下に、エクセルの場合での具体的な一例のみを挙げておきます。
仮に、
「A1:F100の範囲で、同じセル値のものが存在すれば、そのセルに色を付ける」
ようなことを考えたとして、

「条件付き書式」を利用して、
 ・A1:F100の範囲を選択し、A1セルがアクティブな状態で
 ・「ホーム」-「条件付き書式」-「数式を使用して~」を選択し、
  下部の数式欄に以下の数式を入力
    =COUNTIF($A$1:$F$100,A1)>1
 ・書式で設定したい内容(セルの着色など)を設定
 ・「OK」を押し下げ
することで、重複(=完全一致)しているセルを色付けで表示することが可能です。

※ 上記は単なる「関数」の利用にすぎませんけれど、チェックしたい内容に応じていろいろと応用することで、単なる「重複」だけでなく様々なチェックを行うことも可能になると思います。
    • good
    • 1
この回答へのお礼

ありがとうございます。
教えていただいた手順通りにしましたら、やはりセル単位では重複を調べることができました。一つのセル内に、例えば「山田 野田 野田」と入れてあるセルは反応がありませんでした。この場合のテキスト部分「野田」が2個あるので、その野田の重複をピックアップしたいのです。

お礼日時:2023/10/31 13:18

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

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


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