2023-11-06
【目的】=IFERROR(INDEX(グラフ!$AX:$AX,SMALL(IF(グラフ!$AX$2:$AX$413<>””,ROW(グラフ!$AX$2:$AX$413),””),グラフ!A2)),””)
を使って空白を省いてデータを取り出す
参考url↓
データを別領域に取り出す
http://office-qa.com/Excel/ex290.htm
【Excel】データが入力されているセルの内容だけを抜き出す方法
https://cpoint-lab.co.jp/article/201808/4543/
この複数の関数が重なった式は、INDEXで指定したセルの中で空白で無い行番号を探し
行番号の小さい順(セル番号の若い順)に空白を詰めて表示する機能を持っています。
この関数を使っているとある行を参照したところで突然参照できなくなるエラーが発生。
対象の列を見ると#NAME?エラーを発見。なんか怪しい。
中を見ると、そこにはなんてことない文字列がありました。
が、先頭に何かついている。なぜ+=がついているんだろう。
疑問に思い調べてみました。
どうやら、=は式を代入するときに使われるもので、式でないただの文字列につけると
式じゃないよという意味合いで#NAME?になるみたいです。
例↓
//これだと#NAME?になる
=+今日はいい天気だね
これが列に混じっていると空白を調べている時になんらかの理由で混在した判別不能な値が文字でも空白でもないただのエラー
として見られてしまい、参照ができなくなるという理屈でした。
参照の際にエラーが起きた時は、列内に入っているエラーの要素を追ってみるとすんなり
解決できるかも。現場からは以上です。