各行に固有の条件付き書式を適用するにはどうすればよいですか?

各行に固有の条件付き書式を適用するにはどうすればよいですか?

ワークシートに、次の条件に該当する場合に警告を表示する条件付き書式を適用したいと思います。

IF (len(J7) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J7) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J7) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J7) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J7) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J7) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.

...そして、無限に続くことになります。

私は 3 つのコンポーネントを持つ文字列を作成しています。最初のコンポーネントは常に J7 にあり、その後は 14 行目から始まり、下に向かって各行の 'h' セルと 'i' セルの組み合わせになります。特定の行の文字列が 256 文字を超える場合、その行に対して何らかの通知を希望します。

条件付き書式設定ツールを使用しても、うまくいきません。書式設定する列を選択し、条件付き書式設定ツールボックスに数式を入力して、14 行目で希望どおりに機能するようにします。しかし、15 行目のセルを調べると、14 行目のセルを評価するのと同じルールが適用されます。基本的に、最初の行が条件を満たしている場合、選択したすべての行に条件付き書式を適用することができました。

何か案は?

条件付き書式で解決する必要はありません。VBA または他の方法でも同様に機能します。

答え1

パターンが分かりません。

IF (len(J7) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J7) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J7) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J8) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J9) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J20) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.

これがあなたの実際のパターンですか?

IF (len(J14) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J15) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J16) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J18) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J19) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J20) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.

答え2

ルールは、適用される式を適用する必要があるということです左上のセル範囲の - Excelは、数式がワークシートにコピーされているかのように、範囲の結果の数式を自動的に調整します。したがって、次のように範囲を選択した場合は、I14:I1000正しい数式を適用できますI14

=LEN(J$7&H14&I14)>256

J7 の値に $ を使用したため、行が 7 で「固定」され、他の行が増分されます。これは明示的には表示されませんが、内部的にはこのように動作します。

TRUE注: IF文は必要ありません。結果が「または」になる「テスト」のみが必要です。FALSE

答え3

影響を与える列を選択し、この数式を使用します。

=(LEN($J$7)+LEN($H1)+LEN($I1))>256

関連情報