- 機能紹介
Lark シートの条件付き書式でカスタム数式を使用して、必要に応じて柔軟に条件を設定でき、条件を満たすセルを強調表示できます。
- カスタム数式の仕組み
カスタム数式を使用するとき、数式のしくみを理解しておく必要があります。
- カスタム数式の結果は TRUE(あるいは 1)または FALSE(あるいは 0)のみとなります。
- 書式のルールにて入力された数式は、条件付き書式のセル範囲内の一番左上にあるセルに適用されてから、他のセルにオートフィルされます。次の例では、条件を満たすセルを緑で塗りつぶすために条件付き書式のカスタム数式を使用しています。
- 数式「A1 > 3」を入力した場合、条件付き書式のセル範囲内の最初のセルが A1 であるため、各セルの書式は セル内の値を 3 と比較した結果に応じます。
250px|700px|reset
- 数式「C2 > 3」を入力した場合、条件付き書式のセル範囲 A1:D4 内の各セルの書式は、赤い枠 C2:F5 内の値を 3 と比較した結果に応じます。この特性を活用して、カスタム数式の条件付き書式は、セル自体の値に応じない任意のセルを参照するようにカスタマイズできます。
250px|700px|reset
注:参照の種類(絶対参照、相対参照、複合参照)に応じて、数式のオートフィルの結果が変わってきます。上記の例では相対参照のオートフィルの結果が表示されます。この場合、各セル内の列と行がセルの位置に応じて変化します。
- 応用例
3.1 ガントチャート(簡易)
数式
- AND(C$2>=$A3,C$2<=$B3)
説明
セルが対応する日付(2 行目)を開始日(列 A)および終了日(列 B)と比較して、現在のセルを緑色で強調表示する必要があるかどうかを確認します。
注:この例では複合参照が使用されています。「C$2」とは、オートフィル時に行数の「2」が変更されないことを意味します。「$A3」と「$B3」とはオートフィル時に列数が変更されないことを意味します。これにより、各セルと日付、開始日、終了日との正しい対応関係が確立されます。例えば、条件付き書式のカスタム数式がセル D3 にオートフィルされる際、実際の数式は「=AND(D$2>=$A3,D$2<=$B3) 」になります。
250px|700px|reset
3.2 ガントチャート(高度)
数式
- 未着手(黄色のハイライト):AND(J$5>=$D8,J$5<=$E8)
- 進行中(緑のハイライト):AND(J$5>=$F8,J$5<=$G8)
- 延期(赤のハイライト):AND($G8>$E8,J$5>$E8,J$5<=$G8)
説明
セルに対応する日付(5 行目)を、開始予定日(列 D)、終了予定日(列 E)、実際の開始日(列 F)、および実際の終了日(列 G)と比較して、現在のセルの状態を判断します。
250px|700px|reset
3.3 内容が一致しない行をハイライトする
数式
- $A2<>$B2
説明
「<>」とは、「等しくない」を意味します。この例では、数式で参照されているセル A2 と B2 は混合参照を使用しており、列数が固定されているため、オートフィル時に列 A と列 B の比較を維持できます。
250px|700px|reset
3.4 欠損値をハイライトする
数式
- COUNTIF($C$3:$C$10,A3)=0
説明
COUNTIF 関数を使用して、リスト B にてリスト A 内の名前を検索します。名前の検索結果が 0 の場合、名前が列 B にないことを意味し、セルがハイライトされます。この例において、検索範囲 C3:C10 は絶対参照でなければなりません。
250px|700px|reset
3.5 複数の科目の成績が条件を満たす生徒を見つけ出す
数式
- AND($B2>70,$D2>80)
説明
AND 関数を使用して、数学の成績(列 B)が 70 点以上、かつ英語の成績(列 D)が 80 点以上の生徒をハイライトします。この例において、「$」を使用して列 B と列 D を固定する必要があります。
250px|700px|reset
3.6 値を検索してハイライトする
数式
- ISNUMBER(SEARCH($E$2,B2))
説明
条件付き書式のカスタム数式に必要な値は TRUE または FALSE でなければならないため、ISNUMBER 関数を使用して戻り値が数値であるかどうかを判断してから、条件付き書式のカスタム数式に使用します。
250px|700px|reset
3.7 条件を満たす日付をハイライトする
数式
- AND(B2>TODAY(),B2<=(TODAY()+45))
説明
一連の日付から 45 日以内に顧客を訪問できる日付をすばやく見つけたい場合は、最初に TODAY 関数を使用して今日の日付を取得し、「(TODAY()+45)」を使用して 45 日後の日付を計算します。次に、AND 関数を使用してハイライトする必要がある日付を特定できます。
250px|700px|reset