エクセル関数と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) 2001-2023 Digital World