Excelで配列数式を使用する際、思った通りの結果が得られないことがあります。特に、文字列が表示されるべきセルで「0」が表示されてしまう問題について解説します。
問題の数式と状況
質問者様が提示された数式は、特定の条件に一致したセルの値を取得し、表示することを目的としています。しかし、入力されているセルが文字列の場合でも、結果が「0」と表示される問題が発生しています。
原因と考えられる点
このような問題が発生する主な原因として、配列数式内で「IFERROR」を使用してエラー処理を行っている点が挙げられます。数式内で「SMALL」や「INDEX」を使ってセルの値を参照する際、対象のセルにデータがない場合、0が返されることがあります。
また、配列数式を使って複数の条件を並列に評価する際に、条件が一致していない場合、デフォルトで「0」を返すことがあります。
解決方法
この問題を解決するためには、まず「0」ではなく、空白を返すように数式を調整することが有効です。以下のように、「IFERROR」を使ってエラーが発生した場合に空白を返すように修正できます。
=IFERROR(INDEX(Sheet1!$I$5:$AL$19, ROWS($A$1:A1), SMALL(IF(Sheet1!$I$1:$AL$1="●", COLUMN(Sheet1!$I$1:$AL$1)-COLUMN(Sheet1!$I$1)+1), COLUMNS($A$1:A1))), "")
この修正により、条件に一致しないセルに対しては「0」ではなく、空白が表示されるようになります。これにより、文字列が入力されているセルでも正しく表示されるようになります。
まとめ
Excelの配列数式を使ってセルを参照する際に「0」が表示される問題は、エラー処理を適切に行うことで解決できます。IFERROR関数を活用し、表示結果として空白を返すことで、期待通りの結果を得ることができます。この方法を試して、問題が解消されるか確認してみてください。

コメント