セル内のメッセージのチェック(Microsoft Excel)
Blairには、データ入力とデータ検証の2つの領域に分割されたワークシートがあります。データ検証領域は、IFステートメントを使用してエントリをチェックする式で構成されています。問題が見つかった場合は、検証領域のセルにテキストメッセージが表示されます。それ以外の場合、数式は空白を返します。一般的な検証式は次のとおりです。
=IF(A1<>5,"Value in A1 is not 5")
問題は、データ検証領域が非常に大きくなる可能性があることです。つまり、テキストメッセージの1つを見逃しがちです。ブレアは、データ検証領域を調べ、その領域に他のメッセージがある場合は単一のメッセージを返す式を作成する方法があるかどうか疑問に思いました。
この問題に取り組むには、さまざまな方法があります。データ検証領域が隣接している場合は、単純な配列数式でうまくいきます。ワークシートの空のセルに次のように入力します:
=SUM((LEN(ValRange)>0)*1)
ValRangeがデータ検証領域のセル範囲に置き換えられていることを確認してください。また、Shift + Ctrl + Enterを押して数式を入力してください(配列数式であることを示します)。この数式は、範囲内の長さが0より大きいセルの数を示す値を返します。つまり、メッセージが表示されているセルの数をカウントします。
配列数式を使用したくない場合は、次の通常の数式を使用して同じ結果を得ることができます。
=SUMPRODUCT((LEN(ValRange)>0)*1)
その結果、長さが0より大きいセルの数になります。別のアプローチは、Excelが提供するCOUNT関数の一部を使用することです。
=COUNTA(ValRange) - COUNTBLANK(ValRange)
この数式は、範囲内のセルの数をカウントしてから、範囲内の空白セルの数を減算します。結果は、空白でないセル、またはメッセージを表示しているセルの数です。別の公式アプローチを使用して、単純なyes / no応答を決定できます。
=IF(COUNTIF(ValRange,"?*"),"","No ") & "Verification Messages"
ValRangeにメッセージがない場合、数式は「検証メッセージなし」を返します。メッセージがある場合は、「いいえ」を取り除き、単に「確認メッセージ」を返します。
また、データ検証領域に条件付き書式を適用することもお勧めします。これまでに説明した式はメッセージがあるかどうかを示しますが、それらのメッセージがどこにあるかは強調されません。条件付き書式で各メッセージを正確に特定できます。数式を含む領域内のすべてのセルを選択し、条件付き書式を使用してそれらのセルの長さを確認します。長さが0より大きい場合、セルは赤い背景を表示するようにフォーマットできます。これにより、ワークシートをスクロールするときに、データ検証領域のメッセージを見逃しにくくなります。
ワークシートを完全に再設計したい場合は、データ検証領域を廃止するのがより強力なアプローチです。
各入力セルのデータ検証を使用することで、同じ結果(データ入力領域の内容を確認)を実現できます。適切に設定すると、データ検証により、ユーザーが各セルに許容値を入力したことが確認され、データ検証領域の多くが不要になります。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2772)は、Microsoft Excel 97、2000、2002、および2003に適用されます。