shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel】REDUCE関数でセル参照を使って配列指定の効率化

Microsoft365のExcel等で利用できるREDUCE関数は、配列指定をセル参照で実施することにより、柔軟でメンテナンスしやすい数式作成が可能です。

内容:

動作確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2411)です。

REDUCE関数の基本

REDUCE関数は、配列の各要素に対して指定された関数を適用し、一つの数式で繰り返しの処理が可能になる関数です。

基本構文は、次のとおりです。

=REDUCE(初期値, 繰り返す配列, lambda(アキュムレータ, 値, 本文))

参考: REDUCE 関数 - Microsoft サポート

なお、具体的な使用例は次のとおりです。

shikumika.org

REDUCE関数でセル参照を使って配列指定

前述事例では、以下の「置換対象の文字列」(赤字部分)の配列を直接入力していました。

= REDUCE(A2, {"㈱","(株)","(株)","(株)","(株)"}, LAMBDA(置換前,置換文字, SUBSTITUTE(置換前, 置換文字, "株式会社")))

この場合、指定した配列の修正や追加はカンマやダブルクォーテーションの入力などがあり少し手間です。

そこで、メンテナンス性を向上させるために、配列をセル参照で指定します。

具体的には上記数式をセル参照を使用し、以下のように修正することができます。

= REDUCE(A2, $E$2:$E$6, LAMBDA(置換前,置換文字, SUBSTITUTE(置換前, 置換文字, "株式会社")))

置換対象の文字列を$E$2:$E$6に記載しています。

REDUCE関数でセル参照を使って配列指定

このように配列をセル参照で指定することで、「置換対象の文字列」の修正、追加の手間を解決することができます。

以上、REDUCE関数でセル参照を使って配列指定を効率化する方法でした。