LET関数のエクセルとGoogleスプレッドシートでの違いに注意
エクセルとGoogleスプレッドシートの間には、同じ名前の関数でも動作に違いがあることがあります。その一つにLET関数があります。この関数は一つ以上の名前と対応する計算式を設定し、その結果を元にして新たな計算式を定義するためのものです。
以下の例で見てみましょう:
let(aaa , A1:A, if(len(aaa)=0, "" , aaa))
この式では、範囲A1:Aを’aaa’と名付け、その長さが0かどうかを判定し、長さが0の場合は空白を、それ以外の場合は’aaa’を返します。
ここで興味深いのは、エクセルとGoogleスプレッドシートでこの式の動作が異なる点です。エクセルでは、範囲の初めのセルA1が空白でも正常に動作します。一方、Googleスプレッドシートでは、A1が空白の場合、全体が空白として返ってきます。
この違いは特に、LET関数をfilter関数として使う際に重要になります。filter関数は計算量が多いため、使用には注意が必要です。
結論として、この問題を解決するためには、検査範囲にタイトル行を含めることをおすすめします。この方法で、Googleスプレッドシートでもエクセルと同じように正常に動作します。
エクセルとGoogleスプレッドシートはそれぞれが独自の振る舞いを持つため、同じ関数でも予想外の結果になることがあります。そのため、慣れ親しんだツールから新しいツールへ移行する際には、動作の違いを理解し、適切な対応を取ることが重要です。
ディスカッション
コメント一覧
まだ、コメントがありません