スプレッドシートのセル名を取得したい機会が意外と多いのでその方法。
各種方法についてはScrapBoxにまとめてみました。
■ コード
それぞれ数式で取得する方法と、GASで取得する方法を記載しています。
使ってみた結果がこちら。
GASを使う利点はその短さです。
見てわかる通りだいぶスッキリ書くことができます。
ただし、GASの場合は参照しているセルの更新がかかったりするとそのたびにちょっとしたローディングが入るのと、大量に使うと重くなってしまう欠点があります。
そこだけ気にしないのであれば短くかけるGASを使うと良いと思います。
■ 余談
GASによる列のアルファベット取得方法として、下記の方法を紹介しているサイトをいくつか見かけましたが、これだと10行目以降の場合に正しい値が取得できません。
A10 ⇒ A1、A123 ⇒ A23、のように、最初の数字1つだけが削れるだけになってしまいます。
cell.getA1Notation()
.replace(/\d/,
''
)
そのため、何桁でも対応できるように、正規表現の繰り返し記号(+)を付けます。
cell.getA1Notation()
.replace(/\d+/,
''
)