本記事では、私がARRAYFORMULA関数を使用している際に発生したエラーについてその原因と対処法をお伝えします。
ARRAYFORMULA関数は複数の行に一括で同じ処理を下せるスプレッドシート上の関数です。
詳細はこちらを参照ください。
https://engun.co.jp/arrayformula-%e3%82%92%e5%b8%b8%e7%94%a8%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e4%ba%ba%e3%81%8c%e5%a5%bd%e3%81%8d%ef%bc%88%e7%ac%91%ef%bc%89/
エラー発生状況
毎日広告のローデータをスプレッドシートに取得し、そのローデータを加工するため別シートに転記する作業をARRAYFORMULA関数を使って行っています。
ですが、ある日突然「#REF」エラーが発生し転記できなくなってしまいました。
組んでいる式は以下のようなものです。
=ArrayFormula(シートX!A2:A)
(シートXのA列2行目以下を全て取得するという式)
原因と対策
エラーが発生した原因は単純で、転記先のシートの行数が足らないというものでした。
転記元のシートXの行数が2000行あるのに対して、転記先のシートYの行数が1000行しかないというような状況です。
そのため、シートYの行数を1000行以上増やして、2000行以上にすればエラーは解消されデータを正しく転記できました。
もしARRAYFORMULA関数を使ってエラーが発生した場合は、データの行数をチェックしてみましょう。
※余談
記事の趣旨とは異なりますが、大量のローデータを扱う場合、単純にデータを蓄積していくだけだと今回のようなエラーも度々発生してしまう上、データの処理も徐々に遅くなっていきます。
データの取得期間は過去3か月までというように期間を決めてしまうか、BigQueryやGoogleデータポータルを駆使してそもそものデータの取得・管理方法を変えてしまう方が良いかもしれません。
Kyotaro Yamaoka
最新記事 by Kyotaro Yamaoka (全て見る)
- 広告運用とは? - 2024-04-13
- 【GTM】データレイヤー変数とは? - 2024-04-08
- 【Google広告】拡張コンバージョンの概念と設定方法 - 2024-03-30