いきなりですが、「あめつゆ(@ametsuyu_blog)」はGoogleスプレッドシートはExcelの上位互換と確信しています!
Excelの決まった様式での提出を求められない限りはGoogleスプレッドシートを使いましょう!
今はそんな偏った考えを持っている「あめつゆ」ですが、元々はExcel愛用者でした!Googleスプレッドシートの優れた点はいくつも有るのですが、その一つがExcelの関数がほとんどそのまま使用出来るという事です。
「ほとんど」というのがキーポイントになっていてExcelとの互換性が高いGoogleスプレッドシートも・・・
- Googleスプレッドシートには有るけどExcelには無い関数。
- Excelには有るけどGoogleスプレッドシートには無い関数。
という関数が存在します。
今回はその互換性の無い関数を確認する一覧表を作成しましたので、参考にして頂ければ幸いです!
Googleスプレッドシートとエクセルの関数の違いについて⇗
Googleスプレッドシート専用関数を使った例
ArrayFormula関数⇗GoogleTranslate関数⇗ImportXml関数⇗
エクセルでも可能
Google Apps Script(GAS)との組み合わせ
目次
作成した関数比較表について
関数の一覧についてはそれぞれ、Googleスプレッドシートサポートページ、MicrosoftのExcelサポートページから取得しました。(2021/12/26時点の情報)
スプレッドシートを開くと、Googleスプレッドシートとエクセルのシートがあります。
Googleスプレッドシートでは、Googleスプレッドシートの関数の一覧と一番左のA列にはその関数がエクセルに無いかを記しています。(エクセルはその反対です。)
データ→フィルタ表示にてチェックの入ったGoogleスプレッドシートのみを抽出する事が出来ます。
関数比較表の確認
冒頭で、関数比較のGoogleスプレッドシートへのリンクボタンを用意していますが、下記にて埋め込み状態で該当スプレッドシートを確認する事も出来ます!(この場合はフィルタは使用出来ません。)
関数比較表の作り方。
どうやって関数比較表を作成したか工程を公開します。同じものを作る意味はあまり無いと思いますが、何か他の比較表を作成する際の参考になればと思います。
基本的な作り方はGoogleスプレッドシート、エクセルどちらのシートも同じなのですが、エクセルの方がちょっとだけ一手間かかっているので、今回はエクセルを作成した際の工程をご紹介します。
関数リストの取得
上述した通り、今回はMicrosoft公式の関数一覧からリストを取得しました。
まずは関数一覧のページを開いて・・・
全選択のcommand+A(Windowsはctrl+A)
そして、コピーのcommand+C(Windowsはctrl+C)
Googleスプレッドシートの追加したシートにペーストのcommand+V (Windowsはctrl+V)
少し下にスクロールすると関数もコピペ出来ている事がわかります。
あとは余計な行を選択削除して・・・
下部にも余計な行が有るので忘れずに削除して下さい!
エクセルの関数リストが出来ました!
関数の命令だけを取得
リストは完成したのですが、ほぼ同じ手順で作成したGoogleスプレッドシートの関数列は・・・
関数の命令文だけとなっていて、先程のA列の関数名だと”○○○ 関数”となっていて” 関数”が余計です。
これではGoogleスプレッドシートとエクセルを照合させる事が出来ないので、” 関数”を除去します。
まずは隣に列を追加
追加した列の一番上(正確には見出しの下)に・・・
=ArrayFormula(SUBSTITUTE(B2:B," 関数",""))
と追加すると・・・
追加されました!
入力した関数を簡単に解説します。
SUBSTITUTE関数で余計な文字を除去
まずはB列の“○○○ 関数”から邪魔な” 関数”を取り除きます。
使用した関数はSUBSTITUTE関数という関数です。この関数は正確には文字を除去する関数ではなくて・・・
文字列内の既存のテキストを新しいテキストに置き換えます
Googleスプレッドシートサポート
例えば記述したのが、SUBSTITUTE(B2,” 関数”,”あめつゆ”)だった場合はB2の文字列「ABS 関数」の中で、” 関数“に一致する文字列を”あめつゆ“に置き換えるので結果は「ABSあめつゆ」になるような関数です。
少し応用的な使い方で、今回の記述であれば、SUBSTITUTE(B2,” 関数”,””)ですので、B2の文字列「ABS 関数」の中で、” 関数”に一致する文字列を“”(何も無い)に置き換える。といった記述となり、その結果、「ABS 関数」の” 関数”が取り除かれて「ABS」だけが残るようになります。
ArrayFormulaで、簡単に連続コピー
SUBSTITUTE関数で目的を達する事が出来たので、あとはA2セルの内容を該当行までコピペすればOK!
というのが今までの常識でした。しかし、GoogleスプレッドシートにはArrayFormulaが有ります!
ArrayFormulaは正直、ArrayFormulaを使わないとGoogleスプレッドシートの良さが半減します!と言っても過言じゃないぐらい便利な関数です!
ArrayFormula関数は簡単に言うと同じ関数を連続コピーする関数です。
「あめつゆ」は初めてArrayFormula関数を使った時、初めてエクセルを使った時に、A1セルに入れた数式「=B1+C1」をA2セルにコピペすると自動的に「=B2+C2」に変わっててすげぇ!と思った時と同じぐらいに感動しました笑
機能としては先ほどの「A2セルの内容を該当行までコピペ」をする事が出来ます。
今回で言うと、先ほど、A2セルにB2の” 関数”を取り除く数式「SUBSTITUTE(B2,” 関数”,””)」を作成しました。
そのA2セルに
=ArrayFormula(SUBSTITUTE(B2:B," 関数",""))
と記載すると「SUBSTITUTE(B2,” 関数”,””)」と言う数式がA2から下にずっとコピーされた状態になります。
使い方としてはArrayFormulaの()で囲った数式の中にある、B2などのセル指定をB2:B100とするとA100まで数式が入っているのと同じ動きをします。今回のB2:Bだと、B2以降のB列全てとなります。
もちろん縦方向だけでなく、B2:Z2とする事で横方向やB2:E5とする事で縦横方向のコピーも可能です。
少しスペルを覚えるのが大変そうにも思えますが、command+shift+enterでArrayFormula関数が追加されるのでお手軽です!
今回で言うと、A2に「=SUBSTITUTE(B2,” 関数”,””)」と言う数式を記入したら、command+shift+enterを押すだけで「=ArrayFormula(SUBSTITUTE(B2,” 関数”,””))」となります!B2をB2:Bと修正すれば完成です!
「エクセルのみに存在する関数」が分かるようにする。
エクセルとGoogleスプレッドシートの関数名を合わせた事でお互いに存在するかをチェックする事が出来ます。
存在チェックの方法は割とシンプル
=COUNTIF('Googleスプレッドシート'!$C$3:$C,B2)
countif関数でGoogleスプレッドシートの関数名の列にB2の関数が何個存在するかを数えます。
大半の関数はどちらでも使える(存在)ので、「1」と表示されます。
そして、エクセルにしかない場合は、「0」と表示されます。
これで、どちらか片一方にしかない関数を特定出来ます。
ここで、先ほどのArrayFormula関数でパッとコピーしたいのは山々なんですが、countif関数をArrayFormula関数で使うと、いまいち思うような動きをしないので・・・ここは・・・従来のやり方通り・・・
A2セルをコピーして範囲選択して
ペースト!
ただ、「1」「0」だとぱっと見でわかりにくいので・・・
スプレッドシートの入力規則をチェックボックスにします。
そうするとこのように表示されます。あとはこれもA2セルをコピーして、範囲選択し、ペーストは特殊貼り付けの・・・
「データの入力規則のみ貼り付け」でペーストすると・・・
該当のA列がチェックボックス化しました!
あとは、チェック入っているのが何件あるかを確認出来る様に見出しに件数を追加します。
せっかくなので、見出しを固定化すれば・・・
これで完成です!
Googleスプレッドシートって便利だよ!
Googleスプレッドシートとエクセルの比較表とその作成方法をお伝えしました。
今回は説明を省いていますが、作成したスプレッドシートを簡単にネットに公開したり、WordPressブログに埋め込んだりが手軽に出来るのもGoogleスプレッドシートの優れた点です。
最近では、Excelも進化しGoogleスプレッドシートの機能に近付いているとの事ですが、完全無料という大きなアドバンテージのあるGoogleスプレッドシートを超えてお金払ってでもExcelを使いたいと思う日は多分来ないだろうなぁと思っています笑
Googleスプレッドシートとエクセルの関数の違いについて⇗
Googleスプレッドシート専用関数を使った例
ArrayFormula関数⇗GoogleTranslate関数⇗ImportXml関数⇗
エクセルでも可能
Google Apps Script(GAS)との組み合わせ
2 件のコメント