2015年2月19日

Excelでカレントセルのアドレス・内容を呼び出す

Excelで条件付き書式を複数のセルにいっぺんに当てるには、カレントセルのアドレスや内容を関数で呼び出しておく方がいい(というか、そうしないといっぺんに当てられない)。そのための備忘メモ。
  • 行位置:row()
  • 列位置:column()
  • セル番地:address(row(), column())
  • 内容:indirect(address(row(), column()))
要するにrowとcolumnのふたつの関数は引数を空にしておけばカレントセルの行・列位置を返してくれるってことなんだな。

これを使えば、カレントセルの内容が左隣のセルより1大きいという条件は、
=indirect(address(row(), column()-1))+1=indirect(address(row(), column()))
これを条件付き書式で「数式を使用して、書式設定をするセルを指定」の欄に書けばいい。けっこう面倒だな。(しかもこの欄では、入力補完も関数のヘルプ参照もない。カーソルキーを叩こうものなら……)

そうそう、この欄に書く「数式」の左端の等号は、式の残りの式の真偽を吟味するという意味なので、上の式だと真ん中の等号とは意味が違う。これもややこしい話。