摘み入れ地点

得た知見を書きためていく場所です。ソシャゲ、自動化、データを見るのが好きです。Amazonアソシエイト、各種アフィリエイトサービスを使用しています。

セルの内容を縦に繰り返す関数(AをA(改行)A(改行)……と繰り返す関数)

必要になったので書いた。INDIRECTを使えばさらっと実装できて、良い感じ。

 

たとえば、画像のように、A列の内容を3セルずつ繰り返して縦に表示したい場合、こんな感じの関数になる。

=INDIRECT("A" & QUOTIENT(ROW(A1)-1, 3)+1) 

INDIRECT関数で参照するセルを3行ごとに切り替えることで実現している。3行ごとに1増えてほしいので、商を計算するQUOTIENT関数を使っている。あとの-1と+1はそれぞれ調整用。汚いけど0行目から始まってくれないので仕方ない。

 

よくわからんって人は画像に従って関数いじってください。行の位置を参照する関係上、1行目からコピペしないとちゃんと動きません。また、スピルみたいに自動展開はされないので、自分で数式コピーして下に貼り付けていただければと思います。