エクセル関数とGoogleスプレッドシート関数の違い

エクセル関数とGoogleスプレッドシート関数の違い

エクセルをGoogleスプレッドシートに変換したりコピーした場合、関数によって違う結果が出ることがあります。
ほとんどの関数は同じ使い方なのでエラーにはなりませんが
大きく使い方が違う関数ではエラーになる場合があります

影響力が大きい関数
・CONCAT
・CONCATENATE
・LARGE
・ROUNDDOWN、ROUND、ROUNDUP


・CONCAT
3個以上値を指定した場合Googleスプレッドシートではエラーになります

エクセル:CONCAT(コンカット)
=CONCAT(値1,値2,値3, ...)

Googleスプレッドシート:CONCAT(コンカット)
=CONCAT(値1,値2)

エクセルのCONCAT関数は(値1,値2,値3, ...)と、複数指定できますが
Googleスプレッドシートは(値1,値2)と、2つしか指定できません
エクセルで使っているCONCATが3つ以上指定している場合Googleスプレッドシートでは「#N/A」エラーになります

対応策
CONCAT関数をCONCATENATE関数に変更することで同じ結果になります
(旧エクセルのCONCATENATEは範囲指定できませんが、GoogleスプレッドシートのCONCATENATEは範囲指定ができます)

また関数を「JOIN」か「TEXTJOIN」に変更することで同じ結果になります
=CONCAT(値1,値2,値3, ...)

=JOIN("",値1,値2,値3, ...)
=TEXTJOIN("",TRUE,値1,値2,値3, ...)
参考:「JOIN」と「TEXTJOIN」の違い
・CONCATENATE
新しいエクセルで範囲指定した場合の結果が異なります

エクセル:CONCATENATE(コンカテネイト)
=CONCATENATE(範囲指定)

Googleスプレッドシート:CONCATENATE(コンカテネイト)
=CONCATENATE(範囲指定)

新しいエクセルではCONCATENATEはSPILL(スピル)機能で横や下のセルに展開します
新しいエクセルでCONCATENATEをセル展開している場合、
Googleスプレッドシートでは指定範囲のセルすべてが1つのセルに結合され表示されます

対応策(例
=CONCATENATE(B2:F4)

=ArrayFormula(B2:F4)
(※ArrayFormulaは配列数式で範囲指定してCtrl+Shift+Enterを押します)
・LARGE
指定した範囲内を「順位」を指定して表示しますが
通常「順位」は整数で指定しますが
何かの数式で「順位」を取得している場合
Googleスプレッドシートでは小数点以下は切り捨てられ
エクセルでは小数点以下は切り上げられます

エクセル:LARGE(ラージ)
=LARGE(範囲,順位)

Googleスプレッドシート:LARGE(ラージ)
=LARGE(範囲,順位)

エクセルでLARGE(範囲,1.1)と指定した場合
Googleスプレッドシートでは「1.1」を小数点以下は切り捨て「1」番目として数え
エクセルでは「1.1」を小数点以下は切り上げ「2」番目の順位を表示します
(※ただし1未満は「#NUM!」エラーになります)

対応策(例
=LARGE(範囲,順位)

=LARGE(範囲,ROUNDUP(順位))
・ROUNDDOWN、ROUND、ROUNDUP
エクセルで全角で指定した数値は、Googleスプレッドシートでは文字列として判断し「#VALUE!」エラーになります。

エクセル:ROUNDDOWN(ラウンドダウン)
=ROUNDDOWN(数値,桁数)

Googleスプレッドシート:ROUNDDOWN(ラウンドダウン)
=ROUNDDOWN(数値,桁数)

エクセルでROUNDDOWN("12000.45",0)とした場合
エクセルでは"12000.45"を自動で数値として変換され"12000.45"として計算されます
Googleスプレッドシートでは「#VALUE!」エラー
「関数 ROUNDDOWN のパラメータ 1 の値 は 数値 にしてください。テキスト が「12000.45」になっているので、数値 にできません。」
とエラーになります

ROUND、ROUNDUP、TRUNC関数も同様の結果になります

対応策(例:対象がセルB2にある場合
=ROUNDDOWN(B2)

=ROUNDDOWN(ASC(B2))
全角数字で表示されているセルをASC関数で半角にすることで数値として扱われます

他にもあると思われるので追記していきます

エクセル関数とGoogleスプレッドシート関数の違い >HOME

Googleスプレッドシート関数

よく似た関数の違い

「AVERAGE」と「AVERAGEA」の違い  指定した範囲内のセルの平均値を返す関数の違い

「SUM」と「SUMIF」の違い  選択したセル、範囲指定したセルを合計する関数の違い

「NOW」と「TODAY」の違い  現在の日時を取得する関数の違い

「FIND」と「SEARCH」の違い  セル内の文字列を検索する関数の違い

「FIXED」と「ROUND」の違い  小数点以下の数字を桁数を指定して四捨五入する関数の違い

「LARGE」と「MAX」と「MAXA」の違い  指定した範囲から最大値を返す関数の違い

「SUBSTITUTE」と「REPLACE」の違い  文字列を別の文字列に置き換える関数の違い

「NE」と「EXACT」と「DELTA」の違い  2つの文字列が同一であるかを検証する関数の違い

「JOIN」と「TEXTJOIN」の違い  指定した区切り文字を追加して文字列を結合する関数の違い

「IMPORTHTML」と「IMPORTXML」の違い  WEBサイトからデータを取得する関数の違い

「TRUNC」と「ROUNDDOWN」の違い  指定した桁数以下の数値を切り捨てる関数の違い

「CEILING」と「ROUNDUP」の違い  数値を切り上げする関数の違い

(C) 2024 Digital World