ネギトロ亭

生活を豊かにしたい

スプレッドシートのセル名[A1]の取得+おまけ(列末データの行番号取得)

スプレッドシートのセル名を取得したい機会が意外と多いのでその方法。

各種方法についてはScrapBoxにまとめてみました。

■ コード

セルの名前を取得する

セルのアルファベットのみを取得する

指定列のデータが入力されている一番最後の行番号を取得

 

それぞれ数式で取得する方法と、GASで取得する方法を記載しています。

使ってみた結果がこちら。

f:id:NegiuraRoman:20201017224610p:plain

 

GASを使う利点はその短さです。

見てわかる通りだいぶスッキリ書くことができます。

ただし、GASの場合は参照しているセルの更新がかかったりするとそのたびにちょっとしたローディングが入るのと、大量に使うと重くなってしまう欠点があります。

そこだけ気にしないのであれば短くかけるGASを使うと良いと思います。

 

■ 余談

GASによる列のアルファベット取得方法として、下記の方法を紹介しているサイトをいくつか見かけましたが、これだと10行目以降の場合に正しい値が取得できません。

A10 ⇒ A1、A123 ⇒ A23、のように、最初の数字1つだけが削れるだけになってしまいます。

cell.getA1Notation().replace(/\d/,'')

 

そのため、何桁でも対応できるように、正規表現の繰り返し記号(+)を付けます。

cell.getA1Notation().replace(/\d+/,'')