shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel】上のセルと違う値のときに印をつける数式例

Excelで、上のセルと違う値のときに印をつける数式例です。指定した列で上のセルと同じ値なら空白で、違う値のときにアスタリスク(*)のマークをつける事例です。

具体的な使用例としては、Excel業務の効率化が可能といわれる「kintone」でテーブルを含むレコードのファイルを作成したいケースで使用できます。

内容:

アウトプットイメージと、必要な背景

上のセルと違う値のときに印をつけるアウトプットイメージは次のとおりです。

この事例では、B列の値が上のセルと違う値のとき、A列にアスタリスクを表示します。B列の値が上のセルと同じ場合は空白にします。

B列の値が上のセルと違う値のとき、A列にアスタリスクを表示している

上のセルと違う値のときに印をつけるアウトプットイメージ

上記のアウトプットが必要な一例として、「kintone」ではテーブルを含むレコードのファイルを読み込みたい場合、次の仕様となっているためです。

POINT1:ファイルの先頭列を「レコードの開始行」という項目名にします。
先頭列では、各レコードのデータの開始行にアスタリスク「*」を記載し、それ以外は空にします。「*」の行から次の「*」の前の行までのデータが、1レコードのデータです。

出典: テーブルを含むレコードを登録・上書きするためのファイルを準備する | kintone ヘルプ

数式例

特に難しい数式ではなく、IF文を用いて次のようにします。

上記アウトプットイメージで、セルA2の場合:

=IF(B1=B2,"","*")

セルA2(2行目)は、同じ2行目のB2が上のセル(B1)と同じなら空白、違う値ならアスタリスクとしているだけです。

この数式をA列の他の場所にもコピーします(それぞれのセルは、一つ上と比較した数式となるように)

kintoneでの補足説明

上記のExcelファイルをkintoneにインポートすれば、テーブルを含むレコードが取り込めます。

なお、kintoneにおいて、テーブル以外のフィールドの値は、「*」がない行に記載しても、読み込む際に無視されます ということなので、有無は関係ありません。元データの状態によって、作成しやすいデータを作成すれば良さそうです。

テーブル以外のフィールドに登録・上書きするデータは、「レコードの開始行」にアスタリスク「*」がある行に記載します。「*」がない行に記載しても、読み込む際に無視されます。

出典: テーブルを含むレコードを登録・上書きするためのファイルを準備する | kintone ヘルプ

以上、Excelで上のセルと違う値のときに印をつける数式例でした。