目次
このブログでは、Google Sheetsの関数のうち、Excelにはないものを紹介します。 Googleでは、関数を主なタスクに基づいて分類しています。 以下の目次からグループを選ぶと、最も簡単な例とともにその説明を見ることができます。
Google Sheetsには、Excelにはない機能があることをご存知ですか? ここでは、あなたの仕事を軽くしてくれる、とても便利な表計算機能について説明します。 データのインポートやフィルタリングに役立つものもあれば、テキストの管理に役立つものもあります。 しかし、どの機能についても、特筆すべきものばかりです。
Google Sheetsの特殊機能
最初のグループは、Excelではツールとしても出会えないような、Google Sheetsの関数を取り込んでいます。
Google SheetsのARRAYFORMULA
通常、Google Sheetsの数式は一度に一つのセルに対して実行されますが、セルの全範囲をスキャンして計算することができれば、時間を大幅に節約できます。 このような場合にGoogle Sheetsの配列数式が威力を発揮します。
行列式は、より強力なアップグレード式です。 1つのセルだけでなく、数式が含む行または列の数だけ、セルの範囲全体を処理します。 さらに、行列式でない数式も行列で動作させることができます。
Excelでは、Enterだけでなく、Ctrl+Shift+Enterで終了するため、配列式を入力していることを意識する必要があります。 数式の両端にある中括弧は、成功したことを知らせてくれます。
Google Sheetsでは、これを特殊な関数で解決していた。
=ARRAYFORMULA(array_formula)Google Sheetsの標準的な丸括弧の中に、範囲を含む数式をすべて入れ、いつも通りEnterキーを押して終了します。
最も単純な例としては、Google SheetsのIF関数が挙げられるでしょう。
Sheet1 に簡単なアンケートの結果を示すテーブルがあるとします。 テーブルはフォームにリンクされているので、常に更新されています。 A 列には回答者の名前、B 列にはその回答が含まれています -。 は または ノー .
と言った人の名前を表示する必要があります。 は をSheet2上に表示します。
通常、IFは1つのセルを参照しますが、Google SheetsのARRAYFORMULAは、IFがすべての名前と応答を一度に処理します。 ここでは、Sheet2で使用する数式は次のとおりです。
=ARRAYFORMULA( IF(Sheet1!$B$2:$B$100="yes", Sheet1!$A$2:$A$100, ""))
こちらもご覧ください。
- Google Sheetsの配列計算式
GOOGLEFINANCE機能
Sheetsで為替レートを把握したいと思ったことはありませんか? 輸入されたテーブルの商品が自分の国の通貨でいくらなのか? 1週間前、1ヶ月前、1年前はいくらだったのか?
Google Financeのサーバーに接続し、現在または過去の財務情報をスプレッドシートに直接取り込むことができます。
=GOOGLEFINANCE(ticker, [attribute], [start_date], [end_date])- この関数には非常に多くの引数が指定されていますが、最初の引数だけは ティッカー - これは、Google Sheetsの関数が情報を取得する際に考慮するティッカーシンボルです。 例えば、GOOGはGoogleを、MSFTはMicrosoftを表します。
その他の引数はオプションであり、その使い方は取得しようとするものに依存する。
- 属性 は、探しているものであれば何でもよい。 省略された場合は 「かかく しかし、ある日の情報が必要な場合は、この部分を数式で入力する必要があります。 また、現在の日の高値を取得することもできます ( "高い" )、前日の終値( 「さいきん )、またはマーケットが開いた時点の価格( "プライスオープン" ).
ヒント:GOOGLEFINANCEに特化したこのページで、属性の全リストを見ることができます。
- 開始日 と 終了日 は、データをチェックする期間を指定するもので、期間の初日と最終日または初日から何日後かを入力する。
- 間隔 は,データを返す頻度を表す。 いずれかのみである。 「日めくり または "ウィークリー" (7) .
例1.現在の株価
ナスダックというアメリカの証券取引所から、現在のGoogleの株価を取得してみましょう。
=GOOGLEFINANCE("NASDAQ:GOOG", "価格")
例2.過去の株価
同様に、過去7日間の株価情報を取得することができます。
=GOOGLEFINANCE("NASDAQ:GOOG", "price", "9/13/2019", 7, 1)
例3.現在の為替レート
GOOGLEFINANCEは、為替レートを取得するのにも役立ちます。
=googlefinance("currency:eurgbp")。
ユーロからポンドへの交換レートはこちら
=googlefinance("currency:gbpusd")。
ポンドを米ドルに変換する情報を取得するには
=googlefinance("currency:usdcad")です。
米ドルからカナダドルへの切り替えはいくらかかりますか?
例4.過去の為替レート
あるいは、1年前の同じ日の為替レートを確認することもできますね。
=GOOGLEFINANCE("CURRENCY:USDCAD", "price", "9/20/2018")
こちらもご覧ください。
- GoogleFinanceを使用してGoogle Sheetsで為替レートを計算する
Google SheetsのIMAGE機能
表計算ソフトの中に画像があると、特に教育的な目的で役立ちます。 ドロップダウンリストに画像を組み込むことで、データを使った作業を次の段階に進めることができます。
Google Sheetsの機能にはIMAGEというものがあります。
=IMAGE(url、[mode]、[height]、[width])- url - Web上の写真のアドレス。 必須。
注意:画像のアドレスと画像があるページを間違えないでください。 画像のURLは、画像そのものを右クリックして コピー画像アドレス をコンテキストメニューから選択します。
- モード - Google Sheets に画像を追加する方法を決定します: セルサイズに合わせ、画像の縦横比を維持 (1) または無視 (2); 元の画像サイズを維持 (3); または独自の画像比率を設定 (4) オプションです。省略した場合はデフォルトでモード #1 が使用されます。
- 高さ と 幅 は、あらかじめ対応するモード(#4)を選択した場合のサイズ指定に使用します。 任意。
例1:縦横比を保ったまま、画像をセルサイズに合わせる。
Google Sheetsでセルの大きさに合うように画像を追加するには、数式に画像のURLだけを記載すれば十分です。 そこで、行を少し拡大して、次のようにします。
=IMAGE("//cdn.ablebits.com/_img-blog/google-sheets-functions-not-xl/Strawberry.png")
例2.画像をセルにはめ込み、縦横比を無視する場合
画像を挿入し、セル全体に広がるように伸縮させたい場合は、計算式のモード#2です。
=IMAGE("//cdn.ablebits.com/_img-blog/google-sheets-functions-not-xl/Blueberry.png", 2)
このように、このモードはあまり魅力的ではありません。 次に試してみましょう。
例3.元の画像サイズのまま
元の画像のサイズを維持するオプションがあります。 モード#3が役に立ちます。
=IMAGE("//cdn.ablebits.com/_img-blog/google-sheets-functions-not-xl/Blackberry.png", 3)
当然ながら、セルは自動的に拡大されないので、この方法は、小さな画像やセルを手で調整する場合にのみ有効だと思います。
例4.画像の比率を指定する
最後のモード(#4)は、画像のカスタム幅と高さを数式で直接ピクセル単位で設定することができます。
=IMAGE("//ableb_images.s3.amazonaws.com/_img-blog/google-sheets-functions-not-xl/Raspberry.png", 4, 100, 100)
画像は正方形なので、100ピクセル×100としました。 それでもセルに入りきらないのは明らかですが、4つのモードすべてでセルを調整できるようにしておくとよいということを示すために、このようにしました。
こちらもご覧ください。
- Google Sheetsでダニや十字マークを画像にする
Google SheetsのQUERY機能
Google SheetsのQUERYは、最も包括的で強力な機能だと思います。 数え切れないほど様々な用途で使われています。
Google SheetsのFILTER関数を完全に代替でき、さらにCOUNT、SUM、AVERAGE関数の機能も持っています。 まあ・・・残念でしたね~。
Google Sheets の QUERY を使って作成した数式を使うと、大量のデータをスプレッドシートで扱うことができます。 そのために、特殊なクエリ言語 (関数の動作を制御するコマンド群) が使用されます。
ヒント:データベースに詳しい方なら、これらのコマンドはSQLを思い起こさせるかもしれません。
ヒント:コマンドを理解するのが面倒な方は、こちらをご覧ください。
- データ は、管理するテーブルを指定します。 例えば、名前付き範囲やセル範囲などです。 この引数は必須です。
- クエリ は、コマンドを開始する場所です。
ヒント:Googleが作成したこのページで、利用可能な句の完全なリストと式に登場する順番を確認することができます。
注:すべての節はダブルクォートで入力すること。
- ヘッダー は、ヘッダーの行数を指定します。 オプションで、省略された場合は -1 この場合、Google Sheets QUERY はセルの内容からヘッダーの数を推測しようとします。
この関数でできることはたくさんあり、カバーできる使用例もたくさんあります!しかし、ここでは最も簡単な例のいくつかを紹介します。
例1.Google SheetsのQUERY関数を使ったデータ選択
からテーブル全体を返すには シート1 を使用する必要があります。 選ぶ コマンドとアスタリスク( * ) で、すべてのデータを表します。
=QUERY(Sheet1!A1:C10, "select *")
ヒント:テーブル全体が必要でなく、特定の列を抜きたい場合は、アスタリスクの代わりに列を列挙すればよい。
=QUERY(Sheet1!A1:C10,「select A,C 」)
例2.条件によってデータを返す(WHEREコマンド)
条項 どこ これにより、Google Sheets QUERY にフィルタリング機能を持たせることができます。
- 50年代以降に放映された映画のみのリストを入手する。
=QUERY(Sheet1!A1:C10, "select A,C where C> 1950")
- あるいは、ドラマだけを選ぶか(これらの映画は ドラマ が表示されます。 ジャンル の列)。
ヒント:1つの計算式の中に、いくつでも列の条件を指定することができます。
例3:"Order by "句を使ったデータの並べ替え
意外なことに、Google SheetsのQUERYはソートツールの役割も果たすことができます。 という特別なコマンドがあります。 言い付ける が使われています。
並べ替えたい列を入力し、並び順を指定するだけです。 アスキー 昇順と デシジョン を下降のために使用します。
テーブル全体を取得して、ムービーをAからZにソートしてみましょう。
=QUERY(Sheet1!A1:C10,「select A,B,C order by A DESC」)
Google SheetsにQUERYの数式を作成させる
数式もいいけど、それを調べる時間がない、調べる気もないという方に、このアドオンはとても役に立ちます。
Multiple VLOOKUP Matchesは、別のシートからVルックアップを行うツールです。 その名前とは裏腹に、Google SheetsのQUERY機能を使って、別のシートから選択した複数の列を返すツールです。
なぜQUERYなのかというと、QUERYは単なる縦割り検索を可能にする言語だからです。 検索 の列があります。 じっぽう を取得し、あなたを取得します。 オールマッチ ベース 複数基準で .
このアドオンを使うには、QUERY句の知識は全く必要ありません。 また、Vルックアップの複数条件の設定も決して簡単ではありません。
- お前だけ 条件を選ぶ をドロップダウン リストから選択します (contains, more than, is between, など)。
- と テキスト、日付、時刻、または数字を入力します。 をそのままに。
そして、これらすべてを、たった 一足飛びに :
アドオンの一番下の部分は プレビュー領域 条件を設定している間にも式は変化していくので、常に最新の状態で見ることができます。
また、Vlookup検索の結果も表示されます。 数式と一緒にシートに表示させるには、表示させたいセルを選択し 挿入式 数式が全く必要ない場合は、以下のコマンドを実行して、マッチだけをシートに貼り付けてください。 貼り付け結果 .
とにかく、Google Workspace MarketplaceからMultiple VLOOKUP Matchesをあなたのスプレッドシートにインストールして、私が正しいことを証明してください ;) また、アドオンホームページを訪問して、よりよく知るようにしてください。
こちらもご覧ください。
- Google SheetsでQUERYを使って重複した行を削除する
- Google Sheets QUERYを使って複数のシートから範囲をインポートする
- Google SheetsでQUERY式を構築して日付をフォーマットする
- Google SheetsのQUERY関数で列を結合する
- Googleシートのマージ&amp、QUERY関数でセルを更新する
- QUERYで共通データで1シートを複数シートに分割する
Google Sheets SPARKLINE関数
以前、表計算ソフトでグラフを作成する方法を紹介しましたが、Google Sheets SPARKLINEを使えば、セル内で最もシンプルなグラフを素早く作成することができます。
Excelにはツールとしてこの機能があるが、表計算ソフトにおいては、小さな機能である。
=SPARKLINE(data, [options])です。- チャートを含む範囲を選択します。 データ
- を設定します。 オプション QUERY関数のときと同様に、特別な句を使用します。 何も指定しない場合、この関数はデフォルトで黒の折れ線グラフを返します。
この機能は、特に時間や図表を置く場所がない場合、大きな古い図表の代わりとして本当に素晴らしいものです。
1年間の収入のリストがあります。 そのデータをもとに小さなチャートを作ってみましょう。
例1.ラインチャート
チャートの見栄えをよくするために4つのセルを統合し、そこに以下の数式を入力します。
=スパークライン(b2:b13)
セル範囲以外を指定しない場合のデフォルトで設定されているので、折れ線グラフにしました。
例2.カラムチャート
チャートの種類を変更するには、最初の節で - チャートタイプ - の後に、チャート自体のタイプが続きます -。 列 .
注)各コマンドはダブルクォーテーションで括り、ペア全体を波括弧で囲む。
=SPARKLINE(B2:B13, {"charttype", "column"})
例3.チャートの微調整
次に、色の指定です。
注:新しい句のペアは、それぞれ前の句とセミコロンで区切る必要があります。
=SPARKLINE(B2:B13, {"charttype", "column"; "color", "orange"})
Google Sheets SPARKLINEでは、最下位と最上位のレコードに異なる色相を設定したり、ブランクの扱い方を指定したりすることができます。
ヒント:コマンドの全リストは、このヘルプページにあります。
Google Sheetsの関数で並べ替えとフィルタリングを行う
また、表計算ソフトのデータのフィルタリングや並べ替えを支援する関数群もあります。
Google SheetsのFILTER機能
Excelにフィルターがあるのは知っていますが、マスターテーブルに対してのみ適用されるツールです。 そして、Googleスプレッドシートにも同じようなツールはあります。
しかし、Google SheetsのFILTER関数は、元のデータをそのままに、どこか近くの目的の行や列を返します。
QUERYほど強力ではありませんが、習得が容易で、いくつかの抜粋を素早く得ることができます。
このGoogle Sheetsの機能は超簡単です。
=FILTER(範囲、条件1、[条件2])必要なパーツは2つだけです。 レンジ をフィルタリングするためのデータ、および 条件1 は、フィルタが依存するルールのためのものです。 基準の数はあなたのタスクに依存するので、他の条件は完全に任意です。
フルーツとその値段のリストがありましたが、Google SheetsのFILTERで5ドル以上のフルーツを取得する方法を説明します。
=FILTER(A2:B10, B2:B10>5)
こちらもご覧ください。
- Google SheetsのFILTER機能:表計算ソフトのデータをフィルタリングする数式とツール
- Google Sheetsの2つのテーブルをマージする & FILTER + VLOOKUPで一致しない行を追加する
Google SheetsのUNIQUE機能
テーブルに重複した値がある場合、一度だけ言及された行を取り出すことができます。 Google SheetsのUNIQUE関数が役に立ちます。 この関数では、範囲だけが問題になります。
=UNIQUE(範囲)あなたのデータでは、こんな風に見えるかもしれません。
=unique(a1:b10)
ヒント:UNIQUEは大文字と小文字を区別するので、このチュートリアルの方法で、あらかじめ値を同じテキストケースに入れておきます。
こちらもご覧ください。
- Google Sheetsで重複を発見して削除する方法
COUNTUNIQUE for Google Sheets
Google Sheetsでユニークなレコードを別のリストに引っ張るのではなく、数える方法を不思議に思ったことはありませんか? そう、それを実現する関数があるのです。
=COUNTUNIQUE(value1, [value2, ...])数式に必要なだけの値を入力したり、そこからセルを参照したり、実際のデータ範囲を使用したりすることができます。
注意:UNIQUE と異なり、この関数は行全体を数えることはできません。 個々のセルだけを扱います。 したがって、他の列の新しいセルはそれぞれユニークとして扱われます。
こちらもご覧ください。
- Google SheetsのCOUNT関数とCOUNTA関数
- Google Sheetsでセルの色でカウントを合計する
Google Sheets SORT
ExcelにはないGoogle Sheetsのシンプルな機能がまた一つ増え、標準ツールをけなすことができるようになりました;)。
=SORT(range, sort_column, is_ascending, [sort_column2, is_ascending2, ...])- を入力すると レンジ テーブル用
- 言い当てる ソートカラム - 並べ替えの対象となる列の番号
- で行の並べ替えを選択します。 is_ascending 昇順の場合はTRUE,降順の場合はFALSEとする。
- さらに並べ替えたい列がある場合は、数式に ソートカラム と is_ascending
この例では、果物を価格順に並べ替えています。
=sort(a2:b10, 2, true)
補足:Google SheetsのSORT関数は、引数を追加するとSORTNになります。 テーブル全体ではなく、指定した行数だけを返します。
- 第2引数に取得したい行数を入力する
- 3番目はタイ(類似・重複行)の数を示すのに使われますが、私は必要ありません。
- は、Google SheetsのSORT関数と同じです。
=sortn(a2:b10, 5, , 2, true)
Tip. Google SheetsのSORTNについては、Docs Editorのヘルプページで詳しく説明されています。
Google Sheetsのセルを結合・分割する関数
これらの作業を行うための関数は、同じようにSPLITとJOINと呼ばれています。
- Google Sheetsでセルを関数で分割するには、分割したい値の範囲を入力し、区切り文字をダブルクォートで指定します(私の場合はスペースです)。
ヒント:ARRAYFORMULAを使うと、1つのセルだけでなく、列全体を入力・処理することができます。 クールでしょう?)
=arrayformula( split(a2:a24, " "))
- セルをマージするために、Google SheetsのJOIN関数が引き継ぎます。 この関数は、1次元配列内のレコードをマージする必要がある場合に行います:1列または1行。
=join(" ", a2:d2)
こちらもご覧ください。
- CONCATENATE関数でGoogle Sheetsのセルを結合する
Webからのデータ取り込み
Google Sheetsのある機能がなければ、他の表計算ソフトやWebからのデータの取り込みは面倒なものでした。
GoogleシートでIMPORTRANGEを使用する方法
IMPORTRANGE関数は、Google Sheetsの他のドキュメントからデータを引き出すことができます。
=IMPORTRANGE(spreadsheet_url, range_string)スプレッドシートを指定するには、その スプレッドシート_url を入力し、範囲を - にします。 範囲指定文字列 - を取得することができます。
注意:初めて他のファイルを参照する場合、数式はエラーを返します。 慌てる必要はありません。 IMPORTRANGE for Google Sheetsがデータを取得する前に、他のスプレッドシートへのアクセス許可を与える必要があります。 そのエラーの上にマウスを置くと、それを助けるためのボタンが表示されます。
=IMPORTRANGE("//docs.google.com/spreadsheets/d/1V8IjzfD9EiwfkV2wBx8KgJ9g3GQGQOyl3_P3Go/edit", "Sheet1!A1:B10")
ヒント:IMPORTRANGEについては、以前のブログ記事で詳しく解説していますので、ぜひご覧ください。)
IMPORTHTMLとIMPORTDATA
この2つの機能は、様々なインターネット上のページからデータを取り込むためのものです。
- 対象データがウェブページ上で.csv(カンマ区切り値)または.tsv(タブ区切り値)で表示されている場合、IMPORTDATAを使用します。
=IMPORTDATA(url)
それを置き換える url には、ソースページへのリンク、またはそのようなリンクのあるセルへの参照を指定します。
- あるウェブページからテーブルだけを取得するには、代わりにIMPORTHTMLを使用します。
=IMPORTHTML(url, query, index)
を指定します。 url をテーブルのあるページに移動させるか、リストとテーブルのどちらを取得するかを決定します。 クエリ また、ページ上に複数の表やリストがある場合は、その番号を指定して、正しい表を表示させます。
=IMPORTHTML( "//travel.gc.ca/travelling/advisories", "table", 1)
RSSやATOMフィードを取り込むIMPORTFEEDや、様々な方法で構造化されたデータ(XML、HTML、CSVなど)からデータを取り込むIMPORTXMLもありますよ。
Google Sheetsの関数で数値の変換や計算を行う
数字を変換する簡単な関数-パーサー-の小さなグループがあります。
- 日付 - TO_DATE
=to_date(43, 882.00)
=to_dollars(43, 882.00)
そして、比較や計算のために数式で使用できる小さな演算子のグループです。 これらは、1つのグループ 事業者 をご覧ください。
- 加減乗除
- EQ(値が等しいかチェック)、NE(等しくないかチェック)
- GT(最初の値が大きいかどうかチェック)、GTE(大きいかどうかチェック)、LT(小さいかどうかチェック)、LTE(小さいかどうかチェック)
- UMINUS(数字の符号を反転させる)
...ふっ!なんというGoogle Sheetsの関数の群れ! :)
Excelには存在しない機能ですが、Google Sheetsではさらに一歩進んだデータ処理が可能です。
他にもExcelにはないスプレッドシートの機能を発見した方は、急いで下のコメント欄で教えてください! ;)