いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

Googleスプレッドシート

(Gスプレッドシート)UNIQUE関数で複数列から値の重複を除く

GoogleスプレッドシートのUNIQUE関数で複数の列を指定しても、セル単位で値の重複を除くことはできません。 これを何とかする方法についてです。 「=UNIQUE(FLATTEN(範囲))」という式で、複数列を指定した場合でもセル単位で重複を除いた結果を得ることがで…

(Gスプレッドシート)WEEKDAY関数で日付から曜日を求める

Googleスプレッドシートで日付から曜日の値(数値)を求めるWEEKDAY関数の使い方についてです。 「=WEEKDAY(日付)」という式で、その日付の曜日を表す数値(日曜なら1~土曜なら7)を求めることができます。 CHOOSE関数などと併用して曜日名を求められますが…

(Gスプレッドシート)DATE関数で年,月,日の値から日付を求める

Googleスプレッドシートで3つの値から日付を求める、DATE関数の使い方についてです。 「=DATE(年,月,日)」という式により、年・月・日の3つの数値を1つの日付に変換することができます。 使用例 構文 応用例 使用例 画像では、B,C,D列にそれぞれ年・月・日の…

(Gスプレッドシート)「無効」の表示を消す方法

Googleスプレッドシートで、セルに赤い三角形がつき、ポップアップで「無効」と表示されるのを消す方法についてです。 無効の表示はセルに入力されている値が入力規則に反していることを表しています。 表示を消すにはセルの値を直すか、入力規則を削除する…

(Gスプレッドシート)XLOOKUP関数でワイルドカードを使う

Googleスプレッドシートで新たに導入されたXLOOKUP関数についてです。VLOOKUP関数とは異なり、検索値にワイルドカードを用いる場合には、同時に引数でそのことを指定する必要があります。 XLOOKUP関数で検索値にワイルドカードを用いる場合、第5引数(一致モ…

(Gスプレッドシート)セル内の文字が隠れる原因

Googleスプレッドシートで、セル内の文字がなぜか一部しか見えないときの原因と対策についてです。 ラッピング(折り返し等)の設定と列の幅・行の高さの兼ね合いによりセル内の文字が隠れます。 周囲のセルの文字や図形等により文字が隠れることもあります…

(Gスプレッドシート)XMATCH関数の使い方

GoogleスプレッドシートでMATCH関数の後継として導入されたXMATCH関数の使い方についてです。 XMATCH関数により、指定した値(検索キー)が検索範囲内で何番目の位置にあるのかを取得することができます。 機能と構文 基本的な使用例 第3引数(一致モード)…

(Gスプレッドシート)すべての約数を求める

Googleスプレッドシートで、数値のすべての約数を列挙する方法についてです。 REDUCE/LAMBDA関数を使って、数値の約数をすべて求めることができます。手順 画像では、B列に記録された各数値のすべての約数を求めています。 具体的にはD3セルに次のような式を…

(Gスプレッドシート)約数かどうか判定する

Googleスプレッドシートで、ある数値が別の数値の約数かどうか判定する方法についてです。 「=MOD(数値1,数値2)」の結果が0ならば、つまり数値1を数値2で割った余りが0ならば、数値2は数値1の約数です。手順 各行に2つずつ数値が記録されています。 数値B(…

(Gスプレッドシート)REGEXMATCH関数の使い方

Googleスプレッドシートで文字列の判定に用いるREGEXMATCH関数の使い方についてです。 特にFILTER関数との組み合わせが便利です。 REGEXMATCH関数により、テキストが正規表現にマッチ(該当)するかどうか判定することができます。 機能と構文 基本的な使用…

(Gスプレッドシート)複数条件の置き換えを一括して行う方法

Googleスプレッドシートで、文字列の置き換え条件が複数ある場合にそれらを一括して行う方法です。 置換元と置換先は複数の組になっているものとします。 SUBSTITUTE関数をネストするか、REDUCE関数と併用することで複数の置き換えを同時に行うことができま…

(Gスプレッドシート)厳格な値の重複チェックをする

Googleスプレッドシートでのデータの重複チェックについてです。 通常はCOUNTIF関数が用いられますが文字種の違いをほとんど区別しないので、厳密に値を比較したい場合は別のやり方を用意する必要があります。別のカウントの仕方による方法も考えられますが…

(Gスプレッドシート)ASC関数で全角文字を半角に変換する

Googleスプレッドシートで文字を全角→半角に変換するASC関数の使い方についてです。 「=ASC(文字列)」という式で、文字列中の全角文字を半角文字に変換することができます。 逆の機能を持つJIS関数はありません(2022年12月現在)。 使用例 構文 逆の関数は…

(Gスプレッドシート)FILTER関数の使い方

Googleスプレッドシートでデータの検索・抽出に便利なFILTER関数の使い方についてです。 FILTER関数を使うことで、指定範囲のうち条件を満たす行をすべて抽出することができます。 機能と構文 基本的な使用例 数値を条件とする抽出 文字列を条件とする抽出 …

(Gスプレッドシート)行全体の重複をチェックする

GoogleスプレッドシートでCOUNTIF関数を使って値の重複をチェックする作業というのがよくありますが、これを複数列からなるデータの場合に拡張する方法についてです。 値を表示する方法とセルに色塗りする方法を試してみます。 COUNTIFS関数を使って複数列か…

(Gスプレッドシート)TRANSPOSE関数で表の行と列を入れ替える

GoogleスプレッドシートのTRANSPOSE関数の機能と使用例についてです。 「=TRANSPOSE(表の範囲)」という式により、表の行と列を入れ替えた結果を得ることができます これは数学での行列の転置と同じものです。 使用例 構文 応用例 使用例 次の画像ではTRANSPO…

(Gスプレッドシート)UNIQUE関数の使い方

FILTERやSORTなどと共に表計算界に衝撃を与えた、GoogleスプレッドシートのUNIQUE関数の使い方です。 これらはExcelにも導入され、UNIQUE関数の引数の仕様はGoogleスプレッドシートに逆輸入されています。 UNIQUE関数により、値の重複を除いた結果を得ること…

(Gスプレッドシート)COUNTIF関数の結果が0になる原因

GoogleスプレッドシートでCOUNTIF関数を使ったときにカウントできない場合の主な原因と対策をいくつか紹介します。基本的な関数にもかかわらず誤りやすく、しかも気づきにくいため注意を要します。 日付をカウントするとき""で囲んでいない、比較演算子が誤…

(Gスプレッドシート)月の最後の平日を求める

Googleスプレッドシートで、指定した日が属する月の最後の平日を求める方法についてです。 土日だけを除くケースと、祝日をも除くケースを試してみます。 EOMONTH関数とWORKDAY関数を使って、ある日付が属する月の最後の平日を求めることができます。 さらに…

(Gスプレッドシート)LEN関数で文字数をカウントする

Googleスプレッドシートでセル内の文字数を数えるのに用いるLEN関数の使い方についてです。 「=LEN(文字列)」という式により、文字列の文字数を数えることができます。 全角と半角の区別なく文字をカウントします。スペースや各種記号、改行も1文字としてカ…

(Gスプレッドシート)IFS関数で「それ以外」の場合を指定する

GoogleスプレッドシートのIFS関数は、IF関数やSWITCH関数と異なり、条件に該当しない場合(else)の出力を設定する機能がありません。これに対応する方法についてです。 IFS関数の最後の条件として「TRUE」と記せば「それ以外」の場合、つまり「それまでの条…

(Gスプレッドシート)1か月後・nか月後の日付を求める

Googleスプレッドシートで、ある日付の1か月後の日付を求める方法です。 専用の関数によって簡単に求められ、nか月後の日付も求められますが、どのように日付を求めているかを理解しておく必要はあります。 EDATE関数を使って、ある日付の1か月後やnか月後の…

(Gスプレッドシート)SIGN関数で数値の符号を取得する

Googleスプレッドシートで、数値の符号を調べるのに用いられるSIGN関数のはたらきと使用例です。 「=SIGN(数値)」とすることで、数値がプラスなら1、0なら0、マイナスなら-1が得られます。 増減比較を単純化したり、絶対値を無視したい場合などに利用できま…

(Gスプレッドシート)TEXT関数で日付から曜日を取得する

GoogleスプレッドシートのTEXT関数を使って、日付から曜日の文字列を取得する方法についてです。 TEXT関数の第2引数で「"ddd"」を指定すれば、日付から1文字の曜日(日,月,火…)を取得できます。 同じく「"dddd"」を指定すれば3文字の曜日(日曜日,月曜日,火…

(Gスプレッドシート)ABS関数で絶対値を求める

Googleスプレッドシートで、絶対値(数値からマイナスの符号を除いた数値)を求める方法についてです。 「=ABS(数値)」で数値の絶対値が求められます。手順 B列に並んだ数値の絶対値(マイナスを除いた数値)を求めてみます。 まずはC3セルに次の式を入力し…

(Gスプレッドシート)シートの列を増やす方法

Googleスプレッドシートのシートの列数はシート作成時には26列(Z列まで)しかありません。 これを増やす方法についてです。 セルを右クリックしてメニューから「左に1列挿入」を選択すれば新しい列ができ、シート全体の列が増えます。 横方向に複数のセルを…

(Gスプレッドシート)MODE/MODE.MULT関数で最頻値を求める

Googleスプレッドシートで、最頻値(最も多く現れる数値)を求める関数についてです。 最頻値は平均値や中央値と異なり、該当する値が1つだけとは限らないので、使い分けを考慮する必要があります。 MODE関数、MODE.SNGL関数で最頻値を1つだけ(初出順で最も…

(Gスプレッドシート)グループごとに文字列を連結する

Googleスプレッドシートで、ある列の値によってグループを分け、グループごとに文字列を連結した結果を得る方法です。グループ化集計の文字列版と言えばわかりやすいかもしれません。 MAP/LAMBDA関数やUNIQUE関数等を使って、グループごとの文字列連結を行う…

(Gスプレッドシート)SPLIT関数の使い方

Googleスプレッドシートで文字列の分割に重宝するSPLIT関数の使い方についてです。 ExcelにもTEXTSPLIT関数が導入されましたが、機能には若干の違いがあります。 SPLIT関数を使うことで、文字列を(その文字列中に含まれる)区切り文字により区切り、複数の…

(Gスプレッドシート)SPLIT関数で縦・横の区切り文字により縦横に分割する

GoogleスプレッドシートのSPLIT関数は基本的に文字列を横にしか分割できませんが、少し工夫すれば縦横に分割できます。 SPLIT関数とTRANSPOSE関数(またはFLATTEN関数)を組み合わせれば、文字列を縦区切り文字と横区切り文字に基づいて縦横に分割できます。…