2020年4月27日月曜日

Numbersのフィルタ機能について

エクセルを使っていると、結構オートフィルターを多用することがありますが、Numbersでも同様な動きができないか調べていたら似たような機能がありました。後述しますが、完全互換というわけにもいかず使いやすさやわかりやすさについてはやっぱりエクセルには未だ及ばないというところが現状かなとは思いますが、エクセルを購入するとうん万円のソフトウェアを購入(サブスクリプションでは1,000円/月前後で購入可能)するよりは標準でついているものでなんとかしようと試行錯誤しているので、同様の機能をいろいろと創作中です。早速Numbersのフィルター機能を使っていきましょう。

動作環境・検証環境

まず初めに唱える呪文ですね。使用環境は次の通りです。
端末名 バージョン
OS(Macbook Air)Cataline 10.15.3
iOS(iPhone X)13.4
Numbersバージョン バージョン6.2.1(6529)

エクセルでの動作確認

エクセルでは「オートフィルタ」と呼ばれている機能についてどのような動作をするのかをみていきたいと思います。まずはした図のようにエクセルで買い物リストを作ってみます。
Numbersのフィルタ機能について
画像1:買い物リストExcel
画面上部にあるリボンの「ホーム」タブのフィルターメニューから「フィルタ」を選ぶと一番上の項目セルの右下に「▼」のマークがついた小さい枠が表示されます。
Numbersのフィルタ機能について
画像2:フィルタ表示Excel
そのマークがついた枠をクリックすることで、フィルターをかけたいメニューが以下図のように表示されます。
Numbersのフィルタ機能について
画像3:抽出項目選択Excel
抽出したい項目以外のチェックを全て外して、メニュー下部の「OK」ボタンをクリックします。今回は「金曜日」を抽出してみたいと思いますので、「金曜日」以外の「木曜日」と「土曜日」のチェックを外します。
Numbersのフィルタ機能について
画像4:項目選択後Excel
「購入する日」が「金曜日」のみ抽出されました。
Numbersのフィルタ機能について
画像5:フィルタ結果Excel

Numbersで同じように操作するには

Numbersでも同じデータを使います。
Numbersのフィルタ機能について
画像6:買い物リストNumbers
Numbersではエクセルのように列を指定してフィルターボタンをつけることができません(探せなかったというのが正解かもしれない)。Numbersの画面右上に「三」が逆になったようなマークが「○」囲われているので、クリックするとすぐ下にメニューが出てきます。メニューの「フィルタ」タブをクリックすると、フィルタのメニューに切り替わるので、この中の「フィルタを追加」というプルダウンのボタンからフィルタリングしたい列を選択します。
Numbersのフィルタ機能について
画像7:フィルタ表示Numbers
フィルタリングしたい列名を選択すると、フィルタリングルールのメニューが表示されます。今回は「・・・である」を選択します。
Numbersのフィルタ機能について
画像8:フィルタリングルールNumbers
エクセルでの条件と同じ条件「金曜日」と入力して「エンター」を押します。
Numbersのフィルタ機能について
画像9:フィルタ項目入力Numbers
下の図の通り結果がでました。
Numbersのフィルタ機能について
画像10:フィルタ結果Numbers

(おまけ)iPhoneで同じように操作するには

iPhoneでNumbersを使えることは過去投稿でやったので割愛するとして、iPhoneのNumbersでも同じようにフィルタをかけることができます。PC版とボタンの位置は若干違いますが、同じマークがあるのでそこをタップすると次のような画面に切り替わります。同じ容量でフィルタしたいテーブルを指定して後は条件を入れるだけ。
Numbersのフィルタ機能について
画像11:iPhoneでフィルタリング

エクセルとNumbersの比較

エクセルとNumbersのフィルタ機能について比較しましたが、使い慣れているのか、こう言った機能が豊富なのかは調べきれていないところですが、やっぱりエクセルに軍配が上がりましたね。ただ、エクセルは購入すると永久ライセンスでも3万円〜4万円くらいはするので、標準でインストールされているNumbersもコスト面ではとてもメリットがあるので、局所的にこの機能がないから劣っているということも言えなさそうです。使い方次第ではNumbersでも全然事足りるほどのことができるので、Macを使っていて表計算がしたいけどエクセルは高くて手が出せないという方にはNumbersを使い倒すことができるといいですね。取り留めもなかったですが、「フィルタ」機能に関しては使い勝手はエクセルがいいです。

2020年3月4日水曜日

Numbersでif関数

If関数はどんなプログラムでも使われていると思いますが、Numbersもその例外ではなく、セルの値によって処理を決めることができるとても便利な関数の一つ。そのif関数の使い方を確認して行こうかなと思います。

動作環境・検証環境

使用環境は次の通りです。
端末名 MacBookAir
OSCataline 10.15.3
Numbersバージョン バージョン6.2.1(6529)

if関数について

セルの値によって処理を決めるif関数ですが、要は条件分岐するものと考えてもいいのかなと。セルの値がif関数の条件式の通り満たすのであればTRUE(正)、条件を満たさないのであればFALSE(誤)となり、それぞれの正誤で入力しているセルになにを出力するものなのかというものです。

書式

If関数の書式についてですが、Numbersの関数説明通りに確認していきましょう。

Numbersへの入力
IF(条件式、真の場合、偽の場合)

それぞれの引数について
条件式:論理式 「件式」には、式をブール値として評価できる限り、すべてのものを含めることができます。式が数値として評価される場合、0はFALSE、それ以外の数値はTRUEと見なされます。

真の場合:「条件式」がTRUEの場合に返される値。 「真の場合」には、任意の値を含めることができます。「真の場合」を省略し(カンマはあるが値がない)、「条件式」の評価がTRUEの場合、IFは0を返します。

偽の場合:「条件式」がFALSEの場合に返される値を指定する引数(オプション)。 「偽の場合」には、任意の値を含めることができます。「偽の場合」を省略し(カンマはあるが値がない)、「条件式」の評価がFALSEの場合、IFは0を返します。「偽の場合」が完全に省略され(「真の場合」の後にカンマがない) 、「条件式」の評価がFALSEの場合、IFはFALSEを返します。
条件式が正しければ「真の場合」で決めた値を返して、正しくなければ「偽の場合」で決めた値を返すということを文章にするとこんな感じになるのかな。ここで、「真の場合」、「偽の場合」いずれも返す値を決めていない場合にはエラーにならず、0を返すのはエクセルとは少し違うところなのかな。のちほど検証してみよう。

if関数実践

以下のサンプルデータを用意しました。テスト結果として点数(図中①の囲い)70点以上の人を「合格」、それ未満の人を「不合格」と合否(図中②の囲い)列へ表示するようにif関数を組んでみると以下の通りになります。※一番初めの生徒(山田さん)のセルは「A2」です。

numbers-if
図1:サンプルデータ(基本)


入力内容
IF(A2>=70,"合格",”不合格”)

numbers-if
図2:入力例(基本)

この式を一番最後の生徒(長谷川さん)までコピーした結果がした図となります。
numbers-if
図3:結果(基本)

関数の条件はセルの値を引数にすることも可能

ここで図のように合格基準点を"D2"のセルに入力して、以下のようにC列へ先ほど同じようにIF関数を入力します。
numbers-if
図4:サンプルデータ(応用)


入力内容
IF(A2>=$D$2,"合格","不合格")

numbers-if
図5:入力例(応用)
このように入力して先ほどと同様に一番最後の生徒(長谷川さん)のセルまで関数をコピーします。

numbers-if
図6:結果(応用)
同じ結果がえられたことがわかります。このように関数を入力することの利点は、例えば合格基準点の変更があり、「70点」から「80点」となった場合を考えてみましょう。関数の条件式に合格基準点を入力した例であれば、関数の条件式に入力されている「70」の箇所を修正し、再度関数を一番下までコピーする必要があります。一方で、関数の中にせるを指定することで、"D2"の値を「80」と入力するだけで全ての計算が合格点「80点」に置き換わることになりますので、条件式には直接数字を入力したりするよりは条件式に使うセルを決めそこを指定したほうが後々のメンテナンスも楽になることがわかります。

まとめ

IF関数は多用すればファイルがとても重くなる関数ですが、プログラムや表計算では欠かせない関数の一つです。使い方はとても簡単で、条件式が正しければその時の処理、正しくなければその時の処理を決めるだけでできるので、覚えておきたい関数の一つです。

2020年3月1日日曜日

Numbersでsumif関数

sum関数を少し複雑に合計ができるsumif関数。sum関数は選択した範囲の合計値を計算するシンプルな機能の関数であるため、単純に合計を出したい場合には向いているけれど、いろいろ集計していると、条件をつけて合計値を計算したいとか必要にかられる時がある時にはsumif関数を使います。今回は少しだけ複雑な合計値(条件をつけて)を計算する方法について紹介していきます。この関数はカテゴリごとに集計するときなど使えたら便利な機能なので是非使いこなしたいところですね。

sumif関数について

少し複雑な計算をするとは書いたものの何が複雑になったのか?ですが、これは指定した条件に関連する数値の合計を計算してくれる機能です。Numbersの説明をそのまま引用すると、「SUMIF 関数は、指定された条件を満たす数値のみを含む数値の集合の合計を返します。」です。Numbersの説明とほぼ同じような言葉で説明してしまっていますね。

引数について

sumif関数の引数を確認していきます。※各引数の名称はNumbersの名称をそのまま使用しております。
Numbersから抜粋(引数)
SUMIF(テスト値, 条件, 合計範囲)
テスト値: テストする値を含む集合。
条件: 値を比較またはテストすると、式がブール値 TRUE または FALSE を返します。
合計範囲: 合計する値を含む集合。

テスト値とは下図の①枠のこと。条件は商品名。合計範囲は下図の②枠のこと。つまり、このリストの中から見つけたい条件(ここでは商品名となります)を指定し、紐付く合計範囲(仕入値)中の合計値を計算します。

sumif関数実践

実際の入力方法と、Numbersでの結果を見ていきたいと思います。先ほど例で上げたデータを使用し、それぞれの商品の合計値を計算していきます。
numbers-sumif
図1:年間仕入れリスト
※セルの値は「A1」が「商品名」で始まります。左の列へ行くたびアルファベットが順に変わります。したのセルへは行数が1ずつ増えていきます。
それでは次のように関数の引数を入れていきましょう。
入力内容
SUMIF($A2:$A12,"りんご",D2:D12)
同様に条件の引数を各商品名に変えて入力していきます。
numbers-sumif
図2:sumif実行結果1
それぞれの商品の合計値が計算されて入れば成功です。

関数の条件はセルの値を引数にすることも可能

sumif関数の式中に入力した条件(ここでは「りんご」)を毎回集計したい条件で手打ちすることはとても面倒ですよね。ここでちょっと便利な使い方を紹介します(ほとんどの人が分かっているとは思いますが。)
まず、集計したい条件のリストを作成します。ここではリストのF列以降に取扱の商品リストを作成しております。
numbers-sumif
図3:取扱商品リスト追加
リストができたら、そのリストの横でもいいので、先ほど入力した式に入力します。
入力内容
SUMIF($A2:$A12,F2,$D$2:$D$12)
この数式をリストの一番下までコピーします。
numbers-sumif
図4:sumif実行結果2
そうするとそれぞれの項目ごとに集計されていることがわかります。

まとめ

sumif関数は使用するシーンが結構豊富なので、是非使えるようになった方がいい関数です。使い方だけの紹介ですが、多用してNumbers自体の計算量がどの程度耐えられるのかも今後は見ていきたいですね。

2019年3月13日水曜日

Numbersでsum関数を使う方法

Numbersではエクセルとほぼ互換がある関数がそのまま使えるので、気になった関数を片っ端から使い方を調べてみようと思います。今回はsum関数について見ていきたいと思います。

sum関数について

これはエクセルでもよく使われる関数の一つです。sum関数の基本的な結果としては、引数として与えられた値の合計を返す単純なものです。Numbersの説明通りに言うと、「SUM 関数は、一連の数値の合計を返します。」と言うことですね。

引数について

Sum関数の引数の取り方は次の通りです。
Numbersから抜粋(引数)
SUM(値, 値...)
値: 「値」は、数値、日付/時刻値、期間値のいずれかです。すべての値は同じ値タイプである必要があります。
値...: オプションで 1 つ以上の追加の値を含みます。
こういう説明ってなんか抽象的に描きすぎているのか、はたまた難しい言葉で説明したいのかは不明ですが全然何が言いたいかわからないですね。
でも説明を見ると日付や時刻も引数として入れていいと言うことは、この説明で知りました。あまり説明書は読まないタイプですが、じっくり説明を読んで関数を理解することは大切ですね。

sum関数使い方あれこれ

前置きはここまでとして、早速sum関数を使ってどういった結果が出るのかを見ていきましょう。

引数に固定値を入力

こういう使い方をする人はまずいませんが、まずはsum関数の引数に直接固定値を下のように入力して見ます。
入力内容
sum(100,100,100)
期待したい結果は100を三つ足した合計値300となっていることです。それでは結果を見ていきましょう。
当たり前のことをしすぎている感が強いですが、ちゃんと期待した通りの結果が出ました。

数値が入力されているセルを指定

ここからが一般的なsum関数の使用方法となってくると思います。表計算ソフトを使う上で、色々な項目に紐付く何かしらの数値があると思います。それに紐づいている数値の合計値を出していきましょう。ここで使う仮のデータを次のように作りました。
仮データ(とある日の模試結果)
A B C
1指名 点数 退出時間
2 げそ太 95 10:00
3 げそ郎 90 9:40
4 げそ子 85 10:30
5 げそ菜 100 9:50
こんな感じでデータがあったとします。早速この4名の合計値を出していきましょう。
関数入力例
sum(B2,B3,B4,B5)
数値が入力されたセルを引数として参照しています。結果は次の通り合計値370が表示されます。

数値が入力されているセルを範囲指定する

次に数値が入力されているセルを範囲指定して合計する方法です。
関数入力例
sum(B2:B5)
この方法でも4名の合計値370と計算されます。一つひとつのセルを指定する必要がないので、データが莫大で一つずつセルを指定すると式的にも入力の時間的にも大幅に省略することができます。一連のデータが全て数値で、ある場合には非常に便利な方法です。

まとめ

Sum関数はエクセルでも多用する関数なので、いろいろな使い方があると思います。これはただの使い方だけを紹介しているので、さらに考察を今後はしていこうかと思います。

2019年2月18日月曜日

車のヘッドライトが曇ってきたときの解決策

最近愛車のヘッドライトが夜全然明るくなくて、どうしてだろうと悩んでいたところ、ヘッドライトをみるとライトカバーが白く曇っていてすりガラスみたいになってました。カバーが曇っていたらそこで光が分散されて明るくならないやん!!と言うことで今回は愛車のヘッドライトを曇りから救出してきました。

ヘッドライトクリアmini

今回使ったものはこれ。まずはいろいろ調べてしっかりとした処置を考えておりましたが、その方法がなんとなく面倒臭そう(サボりたかった訳ではありません)だったのでこれだけにしました。その面倒臭そうな方法と言うのが、金属用のサビ落としに使われる研磨剤(ピカール)で磨いた後にコーティングすると綺麗になるという書き込みをしている方が多数いて、この方法を採用したかったのですが、コーティング剤は何にするのかとホームセンター歩き回って見つけきれず敢え無く断念しました。まあ早めに断念していて良かったと今は思います。
車のヘッドライトが曇ってきたときの解決策
画像1:ヘッドライトクリアmini

セット内容

箱の内容です。内容はいたってシンプル。実は写真を撮る前に一度試し拭きしているので研磨用クロスが汚れていますが、買った時は汚れていません(当たり前か)。
これは、ホームセンターとかで600〜700円程度で購入可能です。
車のヘッドライトが曇ってきたときの解決策
画像2:商品内容
  1. 商品本体1本
  2. 研磨ブロック1個
  3. 研磨用クロス2枚
  4. 吹き上げようクロス1枚

実践

早速ヘッドライトを説明書通りに以下の手順で綺麗にしていきたいと思います。その前に研磨前のヘッドライトを比較用として画像を貼っておきます。

車のヘッドライトが曇ってきたときの解決策
画像3:研磨前のヘッドライト
カバーが白く濁っていてライトが見えなくなっているのがわかると思います。特に右側は相当曇っていて、ライト本体が見えない状態です。この状態からどこまで変化するのか楽しみですね。
それでは早速手順通り磨いていきましょう。

洗車・事前処理

まずは研磨するヘッドライトの誇りとかその他諸々が付着していて表面が汚れているので、洗っておきます。実は洗わないで反対側を磨いたんですが、クロスが汚れてしまい研磨どころではなくなり、最終的にクロスが使い物にならなくなりました。クロスだけではなく、表面が傷だらけになってしまうので、表面の洗浄は必ず行うようにしましょう。また、説明書には記載がなかったのですが、私は水洗いで済ませました。洗剤とか使って綺麗にすることはしていません。
車のヘッドライトが曇ってきたときの解決策
画像4:ヘッドライトの洗浄
表面の洗浄後はしっかりと水分を拭取ります。
車のヘッドライトが曇ってきたときの解決策
画像5:洗浄後の乾拭き

研磨

事前処理の洗浄が完了したら研磨していきます。研磨用のクロスを研磨ブロックに巻きつけて、巻きつけた上から本体の研磨剤を適量垂らします。
車のヘッドライトが曇ってきたときの解決策
画像6:研磨剤を塗布
そしてヘッドライトを磨いていくだけです。ここも説明書通りに、一定方向にやや力を入れて全体的に磨いていきます。
車のヘッドライトが曇ってきたときの解決策
画像7:研磨中

特に汚れがひどかった向かって右側を念入りに研磨しています。

拭き上げ

研磨し終えた後は拭き上げ用クロスで研磨剤を拭取ります。ここは特に注意するところはありません。研磨剤で少し白く濁っているところを丁寧に拭くだけです。
車のヘッドライトが曇ってきたときの解決策
画像8:拭き上げ
以上でヘッドライトのお掃除完了です。所要時間片側だいたい5分もあれば完了します。とても簡単な作業でしたね。

復活

それではヘッドライトを磨いた結果をお見せします。
車のヘッドライトが曇ってきたときの解決策
画像9:研磨後
すごい。あんなに白く曇っていたヘッドライトの表面がクリアになっています。パッケージのイメージ通りの結果になりました。残念ながら夜間点灯の比較はしていませんが、こころなしか運転席から見える夜の風景が明るくなったと思います。これは凄いですね。1,000円程度でこんなにも綺麗に蘇るのであれば、費用はかけたくないけどヘッドライト表面が黄ばんだり、白く濁って困っている人にはオススメのものだと思います。これから持続力はどのくらいか見ていきたいと思います。私の車は青空駐車で、毎日太陽に当たっている状態ですので、とりあえず1ヶ月後の表面状況を今後載せていきたいと思います。