スクリーンショット_2019-10-21_15

Googleスプレッドシートの小技

## 概要

普段からスプレッドシートで小技を使用していますが、人に伝えるのが大変だったためページを作成しました。
これらが出来れば今日からあなたもGoogleスプレッドシートが使える人!!!

## Googleスプレッドシートの呼び出し方

ブラウザのURL欄にsheet.newと入れると新規スプレッドシートが開く。

## 範囲の指定について

GoogleスプレッドシートではA2:Aという指定ができます。これは、A2からA列最終行までを指定していることになります。つまり、最終行番号を取得する関数を作成したりする必要はないです。

## 列結合

{Range1,Range2}が基本形。{A:B,D:E}A~B列D~E列を結合した1つの範囲として解釈されます。

QUERY関数やVLOOKUP関数を使用する時によく利用します。

スクリーンショット 2019-10-21 15.40.12
スクリーンショット 2019-10-21 15.40.21

## 行結合

{Range1;Range2}が基本形。{1:2;4:5}1~2行4~5行を結合した1つの範囲として解釈されます。

QUERY関数やVLOOKUP関数を使用する時によく利用します。

スクリーンショット 2019-10-21 15.40.12
スクリーンショット 2019-10-21 15.40.32

## ARRAYFORMULA関数

同じ内容を下の行まで反映してくれる関数です。

### 例

A1セルに=ARRAYFORMULA(ROW(A1:A30))と入力すると、行番号を`A1~A30`まで自動で算出してくれます。

B1セルに=ARRAYFORMULA(IF(ISEVEN(A1:A30),"Odd","Even"))と入力すると偶数と奇数を自動で判定してくれます。

しかし、この例では「2」や「4」は偶数なのに「Odd」と表示されているので間違っています。
これを解決するには、B1セルのOddEvenを入れ替えます。

すると、たった1行修正しただけで下の行も正しく修正されていることに気が付く筈です。
Excel上級者はB2セル以降がテキストで返っていることに気が付くでしょう。全てのセルで計算を行うよりも1行で計算を行うほうが早いので、行数が多い処理にこそ、この関数を積極的に使って行くべきです。

## 空白処理

ARRAYFORMULA関数を使うと出てくる問題が空白の時の処理。
何も指定しないと、指定した範囲まで処理をしてエラーを返すことがある。
無駄なエラー(#N/A等)は見たくないので、IF関数**と組み合わせて以下のようにする。

=ARRAYFORMULA(IF(A2:A="","",処理内容))

A2:Aの部分は基準となる範囲を指定する。
これで、基準が空白の時は空白を返す処理をするようになる。

## 応用

2つの表がある。

画像1
画像2

ValueS.Totalを求めなければならない時、上記の知識で解決する。

上記の表は下記の通り配置しているものとする。

画像3

### table2のValueの求め方

=ARRAYFORMULA(if(D2:D="","",VLOOKUP(D2:D,{B2:B,A2:A},2,false)))

VLOOKUP関数は以下2つの癖があります。

- 左から右に向かって何番目という指定しか出来ない
- 最左列は検索列でなければならない

そのため、列結合をしてtable1ValueNameを入れ替える必要があります。

### tabel2のS.Totalの求め方

=ARRAYFORMULA(if(F2:F="","",E2:E\*F2:F))

## あとがき

今回紹介したもの以外にも小技はありますが、複雑になるため省略しました。
上記を覚えているだけで、周りからはGoogleスプレッドシートが使える人と思われるので、安心してください(?)

ここから先は

0字

¥ 300

この記事が気に入ったらサポートをしてみませんか?