各数字の最初のインスタンスを除く 3 つの列にわたるすべての重複した数字を強調表示する数式または VBA が必要です。

各数字の最初のインスタンスを除く 3 つの列にわたるすべての重複した数字を強調表示する数式または VBA が必要です。

列 (E、S、T) 内の最初のインスタンスの後の重複した番号を強調表示する数式または VBA が必要です。他の IF 数式を使用しようとしましたが、機能しませんでした。

ご協力いただければ幸いです。

スクリーンショット

答え1

列内の最初の番号の後の重複番号を強調表示します(E、S、T)

これは、複数回出現するすべての値を強調表示することを意味すると思います。最初の出現を除く、各列ごとに別々にカウントされます。つまり、投稿に含まれるスクリーンショットでは、どの値も強調表示されません (同じ値のインスタンスが複数ある一方で、重複は同じ列内にないため)。

数式に一致する条件付き書式を追加し、次のように入力します。 =(ROW() - MATCH(INDIRECT(ADDRESS(ROW(), COLUMN())), search_range, 0)) > 1

ここsearch_rangeで、 は関連する範囲に置き換える必要があります。つまり、この CF のインスタンスが 3 つ必要になります。1 つは列 E 用 (たとえば、search_rangeにサブセット$E$2:$E$8)、1 つは列 S 用、もう 1 つは列 T 用です。範囲は必要に応じて調整してください。数式の末尾の数字1も、それぞれの列でデータが始まる行に設定する必要があります。これについては、最後のほうで詳しく説明します。

この式は次のようになります:

  • 現在の行番号を見つける
  • 現在の行の値を探す
  • 行番号から一致した行を引いた値が1以下の場合、「ourself」と一致したことになります。つまり、現在の値はそれ自身の最初のインスタンスであり、ない強調される
  • 行番号から一致した行を引いた値が1より大きい場合、リスト内の上位の番号と一致しています。つまり、現在の値はその値の最初のインスタンスではないため、強調表示する必要があります。

これは、MATCH関数が初め結果。

もう 1 つ注意すべき点は、 から返される結果はMATCH検索するマトリックスに対してローカルであるということです。したがって、 がたとえばsearch_rangeである場合A10:A20、 にある値はA10としてMATCH返されます1(指定された範囲の最初の行であるため)。つまり、代入する範囲がsearch_range2 行目以下で始まる場合、この数式の末尾の を変更する必要があります1。そこに入力する数字は、データが始まる行番号と同じです。

見た目は次のようになります:

ここに画像の説明を入力してください

関連情報