なんでもエクセル(Nandemo Excel)

何でもエクセルでやってしまう そこのあなた。ようこそ

数式/関数:行間を空けて参照する/行間を詰めて参照する

何行か空けて参照する。

あるいは何行か詰めて参照する。

こういうリンクの機会は以外と多い。一定の行数を指定して数式でリンクしたい場合、以前だったらINDEX・ROW・COLUMN・INT・MOD辺りの関数を使ってごちゃごちゃとやっていたに違いない。

一定間隔を空けて参照(旧バージョン)
=IF(MOD(ROW(A1),行数)=1,INDEX(範囲,INT((ROW(A1)-1)/行数)+1),"")
一定間隔を詰めて参照(旧バージョン)
=INDEX(範囲,INT((ROW(A1)-1)*行数)+1)

このやり方で困るのは、参照する開始位置がずれた時。それだけで、ROW関数・COLUMN関数をどうすればいいのか分からなくなる人が続出する。Excel2021なら、SEQUENCE関数を使えばいいのでその問題は解決するけど、計算の仕組みがぱっと見ただけでは分かりにくいのは変わらない。

しかしこれが Microsoft365だと超簡単になる。

一定間隔を空けて参照(Microsoft365バージョン)
=TOCOL(EXPAND(範囲,,行数,""))
一定間隔を詰めて参照(Microsoft365バージョン)
=TAKE(WRAPROWS(範囲,行数),,1)

たったこれだけなんだけど、丁寧に書けばこれだけでも Excelハックサイトが記事にしそうなネタではある。