新しい方たちへ

PowerPoint for Mac でフォントのカスタマイズ( XML を使わないやり方)
■macOS Big Sur バージョン11.2.3
■Microsoft 365 Apps for businessサブスクリプション
PowerPoint for mac バージョン16.47(201031401)

・パワーポイントでファイルを作るときに、最低限理解しておくべき3つのこと。
■macOS Catalina バージョン10.15.7
■Microsoft 365 Apps for businessサブスクリプション
(旧称 Office 365 Business)
PowerPoint for Mac バージョン16.43(20110804)

・Word で「メイリオ」を使うときに行間が広がらないようにしておく。(行グリッド線に合わせる。)
■macOS Catalina バージョン10.15.5
■Microsoft 365 Apps for businessサブスクリプション
(旧称 Office 365 Business)
Word for Mac バージョン16.38(20061401)

| | コメント (0)

MacBook Pro でちょっとだけ驚き

Touch Bar 搭載の MacBook Pro。

トラックパッドは、絆創膏をしている指を滑らせてもカーソルが動く。

でも、Touch Bar は、絆創膏をしていると感知してくれない。

絆創膏をしていない指を使わないといけないんですわ。

なんか、不思議。

| | コメント (0)

既存のパワーポイントのファイルサイズを軽くする。(「図の圧縮」は実行済み)

この記事は自分用の覚書です。

■MacBook Pro macOS Big Sur
バージョン 11.6

■Microsoft 365 Apps for businessサブスクリプション
(旧称 Office 365 Business)
PowerPoint for Mac バージョン 16.53 (21091200)

H.K さん。

すでに出来上がっているパワーポイントのファイルについて、ファイルサイズを軽くするやり方です。

こちらにも書いておきますね。
「図の圧縮」は済ませているのが前提です。

ファイルサイズの「重い・軽い」は個人の主観の部分もあるので、「これ以上は重くて、それ未満は軽い」とはっきり区切りづらいときもありますね。

私個人の目安は「Gmail に添付できないサイズは、"重い" と言ってよい」と感じます。
今のところ、Gmail に添付できるのは「25MB以下」です。

ですが、社内では「10MB 台にならないか」とよく相談を受けます。

そういうことで、10MB 台にできそうならそこを目指す。
ならないなら、25MB 以下に収まっていればよいのではないかなと思っています。

■ファイルを作っているときからファイルサイズを抑えておくのが基本

大事なところなので、まずは基本の確認です。

うちの社内で見かけるファイルでは、画像のせいで重くなっているファイルが多いです。
そもそもファイルを作っているときに、ファイルサイズを下げるためにやるべき流れがあります。

  1. 画像のファイルサイズを可能な限り落とす加工を行う。
  2. 加工が済んだ画像をスライド上に「挿入」する。

この流れを守ることで、パワーポイントのファイルサイズを抑えることができます。

あるスライドを画像として別のスライド上に配置する場合も、いったん元のスライドを画像としてエクスポートして加工を済ませます。それから別のスライドに「挿入」します。

軽くしたいならスライドであれ画像であれ、「ペーストする」ことは避けてください。
ファイルサイズを抑えるには、画像は「挿入」します。

画像をスライドに「コピー貼り付け」すると、パワーポイントのファイルが重くなっていきます。
作っている最中からファイルサイズを抑えることを意識して作ることが大事です。

とはいえ、他の人が作ったファイルをもらうとか、自分ではどうもできない場合ってありますよね。
重すぎて扱いづらいパワーポイントのファイルを使わないといけなくなったり、ファイルを作った人が忙し過ぎて画像の加工をする時間がなかったとか。

そういうときは仕方がないです。
なので、作り終えたファイルのファイルサイズを落とす下記のような作業が必要になったりします。

スライド上にある画像を軽く加工した画像に差し替えることで、既存のファイルのファイルサイズを落とします。

下記のやり方は非常手段です。

ファイルサイズを抑えることが大事なら、ファイルを作っているときから画像のコピー貼り付けは避けて、軽く加工した画像を挿入してください。

大事なことなので重ねてお伝えしておきます。
(当然ですが、画像以外の理由でファイルサイズが大きい場合は、以下のやり方は通用しません。)

■スライド上の画像の差し替え

1.元のファイルは置いておくので、コピーして別ファイルを作る。

2.別ファイルの拡張子を zip に変える。

3. 2. のファイルを解凍する。
macOS の標準機能では、この ZIP は解凍できない。
適当な解凍用アプリをインストールして解凍する。

4.解凍してできたフォルダを開いて次のパスをたどる。
解凍してできたフォルダ > ppt > media
フォルダ「media」のなかにあるのがスライド上で使っている画像。

5.フォルダ「media」の表示を「サイズ」の列で降順にする。
ファイルサイズの大きい順に画像が並ぶ。
下図はファイルを解凍した例。
141.7MB の画像があるのがわかる。
Zunoomoijun_20211011110801

6.画像をダブルクリックしてどんな画像か確認する。
拡張子が emf のファイルは、macOS の標準機能では閲覧できない。
パワーポイントやワードで新規作成の画面にして、そこに emf 形式の画像をドラッグ&ドロップすることで見られる。

7.オリジナルのファイルを開いて、同じ画像を探す。

8.画像を見つけたら、「影」や「枠線」、「回転」、「ぼかし」などの効果の値を控えてから 0 にするなどして効果を解除する。
あとで元に戻すので、各値は控えておく。
なお、「影」の「サイズ」は最低で 1 を指定しておかないといけないので、 0 は入力できない。

縦横の寸法や「位置」は控えなくてよい。

9.効果が付いていない状態にしたら、選択して「図として保存」を実行。
任意の場所に保存する。
ファイルの種類は、基本的に JPEG でよい。
元の画像に透過の効果がつけられているときは PNG にする。
Zutositehozon

10.保存した画像のファイルサイズを可能な限り下げる加工を行う。
画質にもよるが、大きくても 100KB 台が目安。
理想は 100KB 未満。
(できないときは仕方がないので、できるだけ軽いファイルサイズにする。)

保存したときにすでに 100KB 未満になっているならそのままでよい

11.スライド上の同じ画像を再度選択して「図を変更」を実行。
削除すると「位置」や「アニメーション」をもう一度指定しないといけなくなるので「図を変更」を使う。
「図を変更」で画像を変えると「位置」と「アニメーション」は引き継がれる。

同じ画像がファイル内に複数あるときは、すべて「図の変更」で差し替える。

Zunohenkou

12.ファイルサイズを調整した画像を選択。

13.効果を再設定する。
控えておいた値に基づいて効果を設定。

これで画像の差し替えが完了。

フォルダ「media」のなかの画像について、手順 6 からの作業を繰り返す。
対象にする目安は 100KB 台を超えているもの。

■その他

重い画像のファイルサイズを落として差し替えることで、結果的にパワーポイントのファイルサイズが落ちるので、「10MB まで落とそう」というようにファイルサイズを定めてできるものではない。

場合によっては、「これ以下には下がらない」ということもある。

画像を重ねて配置してあると、前景の画像で隠れていて目当ての画像がスライド上で見つからないときがある。
「選択ウィンドウ」を表示して各オブジェクトを非表示にして、目当ての画像を見つけるという地味な作業が必要になったりする。

GIF 形式の画像については「図の圧縮」でトリミング部分を削除できない。
つまり、重いGIF 形式の画像がスライド上にあると、「図の圧縮」を実行してもファイルサイズは抑えられない。
詳細は、この記事を参照。

リンク先には、単にGIF 形式の画像のトリミング部分を消す手順が載っているだけ。
PowerPoint for Mac のファイルサイズを軽くするのなら、次の手順になる。
( Excel, Word でも同じ。)

1.トリミング後の GIF 形式の画像を選択
2.画像をコピーして適当な場所に「図としてペースト」を実行
3.ペーストしたものを選択して「図として保存」を実行
4.保存した画像のファイルサイズを落とす加工を行う。
5.トリミング後の GIF 形式の画像を選択して、「図を変更」を実行

フォルダ「media」のなかにある GIF は、トリミングしていない状態。
スライド上にあるトリミング済みのものとは見かけが異なるので見つけるのは面倒だが、見比べながら地道に探すしかない。

※ビルの写真の出典
Photock.jp

| | コメント (0)

お湯からあげたレトルトパウチをきれいに開ける方法。

カレーやハンバーグなどなど、レトルトパウチの袋をお湯で温めてから切り口から破ろうとすると、きれいにいかないことがある。

反対側まで切れきれずにリンゴの皮のように残ったり、途中でギザギザになってそもそもうまく切れなくなったり。

「近所のスーパーで買ってくるレトルトパウチでは」という条件付きだけど、100%きれいに開けられるやり方がある。

それは、「レトルトパウチをお湯で濡れたままにしない」こと。

お湯からあげたら、布巾などで切り口から反対側まで、これでもかというぐらいしっかりと水気を取る。

もちろん、指が湿っているなんてのもご法度。
指もしっかりと水分を拭って乾いた状態にする。

袋からも指からも確実に水分が拭えていることを確認したら、切り口から切る。

これで、魔法のように反対側までピーッと破れる。

少なくとも、「近所のスーパーで買ってくるレトルトパウチ」では、100%の達成率。

ひょっとしたら、世の中の多くのレトルトパウチでも使えるかもしれない。

袋と指からしっかり湿りを取ってから開ける。ただこれだけ。

| | コメント (0)

Excel で無作為にグループ分け(同じ部署の人は別グループになるよう検討する)

この記事は自分用の覚書です。

■MacBook Pro macOS Big Sur
バージョン 11.5.2

■Microsoft 365 Apps for businessサブスクリプション
(旧称 Office 365 Business)
Excel for Mac バージョン 16.52 (21080801)

H.K さん。

エクセルでランダムにグループ分けする仕組みです。
共有したテンプレートは以下のように作っています。

こちらにもまとめておきます。

特別に難しいことはしていません。誰でもあとからメンテナンスができると思います。

当たり前ですが、これが唯一の正解ではないです。
「こうしたら、もっと誰でもメンテナンスがしやすくなる」というアイデアがあれば私にも教えてくださいね。

■課題

課題は次の2つ。

  • 社内研修参加者をランダムにグループ分けする作業を簡素化したい。
  • その際に、同じ部署の人は違うグループにしたい。

■使用する関数

使用する関数は次の5つです。

  • RAND関数
  • RAN.EQ関数
  • IFS関数
  • SORT関数
  • COUNTIF関数

IFS関数とSORT関数は、Microsoft 365 サブスクライバーが使える関数です。

RANK.EQ関数は、数値の一覧内における各数値の順位を返します。
従来からあるRANK関数と同じですが、マイクロソフトはRANK.EQ関数の利用を推奨していているのでそちらを使いました。

エクセルのヘルプでRANK関数を見ると、「Excel の将来のバージョンでは利用できなくなる可能性があるため、今後は新しい関数を使用することを検討してください。」と書かれています。

仕事で使う仕組みづくりですから、将来的に使えなくなる可能性が少しでもあるならその使用は避けたほうがよいと、私は考えます。

■ランダムにグループ分け

例として、20名の参加者を等分してグループ分けすることを考えてみました。
20名を等分する場合は、次の二通りの分け方になりますね。

  • 4名ずつ5グループ
  • 5名ずつ4グループ

ここでは、「4名ずつ5グループ」を取り上げます。
「4名ずつ5グループ」がわかれば、「5名ずつ4グループ」に分ける仕組みも簡単につくれます。
数式を書き換えるだけですから。

どんな人数で何グループに分ける場合でも、考え方は同じです。

次の3つのシートを作りました。
ファイルを使う人がわかりやすければ、シート名はなんでもよいです。
各シートの列名もわかりやすければなんでもよいです。

  • 「設定」
  • 「グループ分け」
  • 「並べ替え」

■シート「設定」

シート「設定」では次の2つを指定します。

  • いちグループ何名にするか(ここでは 4 名ずつ。)
  • グループ名(今回は最大で 5 つのグループ名が必要。)

C列「区分け」の値は、このあとで使います。

どのシートも基本的にさわるのは1行目に色を付けてある列です。
人数や名前、グループ名を入れたり、部署名を入れたり。

色を付けていない列のセルには数式を入れています。
必要によって数式を書き換えます。

011

■シート「グループ分け」

シート「グループ分け」で各人がどのグループになるか決めています。
こんな感じです。
(使用している氏名は、ネット上の無料サービスで作りました。)

021

A列のセルに入っているのは =RAND() という式です。
RAND関数で乱数を発生させています。

発生させた乱数を昇順に順位付けしているのが、B列です。
セル B2 には =RANK.EQ(A2,$A$2:$A$21,1) の数式を入力して、一番下までコピーします。

乱数の順位が、各人に対する固有の番号になります。
その番号をもとにすれば、無作為なグループ分けができます。

E列で、IFS関数を使ってグループを決めています。
セル E2 の数式は以下のようです。

03ifs

こうやって数式の途中でセル内改行しておくことで、IFS関数を使ってどんな条件で何をしているのかを把握しやすくなると思います。数式の頭の位置はスペースで合わせています。

IFS関数の一行目の数式の意味は以下のようです。

  • セル B2 の値( 18 )が、シート「設定」のセル C2 ( 4 ) 以下の場合、シート「設定」のセル B2 の値 ( G01 ) を返す。

シート「設定」のC列が、冒頭で「あとで使う」といった「区分け」です。
いちグループ 4 名ずつにするので、RANK.EQ関数の結果を使って「4以下ならG01」、「5以上8以下ならG02」というように4名ずつグループ分けするために使っています。

04

シート「設定」の C2 の値は 4 なので、一行目は成り立ちません。
なので、二行目の判定が行われますが、二行目も成り立ちません。
(そうやって、四行目までが成り立ちません。)

成り立つのは五行目の数式なので、シート「設定」のセル B6 の値が返ります。

  • セル B2 の値( 18 )は、シート「設定」のセル C6 ( 20 ) 以下なので、シート「設定」のセル B6 の値( G05 )を返す。

そのようにして、各人がどのグループになるかが決まります。

シート「グループ分け」のセル E2 に入れたIFS関数の数式を一番下までコピーします。

セル B3 の値( 6 )の場合は、シート「設定」の C3 ( 8 ) 以下なので、シート「設定」の B3 の値(グループ名 G02)が返っています。

RAND関数で発生させた乱数を元にしているので、ここまでで各人を無作為にグループ分けできました。

次は、「同じ部署の人は同じグループにならないように」検討できる仕組みづくりです。

■同じ部署の人は同じグループにならないように検討する

一覧を見やすくする。

まず、各人が何グループなのをわかりやすくしておきます。

そのために、シート「並べ替え」のセル A2 にSORT関数の数式を入力しています。

051

セル A2 に入れた数式は以下のようです。
C列(「グループ」)を基準にして昇順に並べ替えています。

=SORT(グループ分け!C2:E21,3,1,FALSE)

Microsoft 365 サブスクライバーの場合は、このようにあるセルに数式を入れると他のセルに数式をコピーしないで結果を表示してくれる機能があります。
(Spill(スピル)という機能です。マイクロソフトのヘルプのページでは「こぼれた配列動作」と訳されてますが。「スピル」のほうが定着してほしいです。)

SORT関数の構文は次のようです。

=SORT(配列,[並べ替えインデックス],[並べ替え順序],[並べ替え基準])

第一引数の「配列」以外は省略が可能ですが、SORT関数の各引数の役割をわかりやすくするために、ここではあえてすべてを指定してみました。

シート「グループ分け」の C2 から E21 を並べ替えたいので、第一引数「配列」にはその範囲を指定しています。

第二引数 [並べ替えインデックス] は 3 になります。
第一引数で指定した範囲は C列からE列です。
E列のグループ名を基準にするので、指定した範囲の左端から C,D,E と数えて、 [並べ替えインデックス] は 3 になります。

第3引数 [並べ替え順序] は 1 にしました。G01 から順に並べたいですから。
1 は「昇順」を意味します。

061sort

第四引数 [並べ替え基準] は、FALSE です。
行を並べ替えるので。
(見た通り、SORT関数は列の並べ替えもできます。我々の仕事ではあまり使うことはないと思いますが。)

062sort

こうやって、指定範囲がグループ名を基準にして昇順で並べ替えされます。
これで誰が何グループなのかがわかりやすくなります。

さらに区別しやすくしてみます。
いちグループ 4 名なので、グループ名の固まりごと(4行ごと)にセルの下側に罫線をひいて区切ってみます。

この罫線をひく作業は無くてもよいです。必要なければ省いてください。

セル A5 から C5 を選んで =設定!$A$2=4 の数式を条件に、セル範囲の下側に罫線をひく条件付き書式を設定します。

0714

シート「設定」のセル A2 (「人数」)が 4 なら、こうなります。

0724

この設定をセル A9 から C9、A13 から C13、A17 から C17 に対して行います。
そうすると、こうなります。
誰が何グループなのかがずいぶんと見やすくできたと思います。

0743

同じ部署の人は同じグループにならないように検討できる仕組み作り

お待たせしました。ようやく、「同じ部署の人は同じグループにならないように」検討できる仕組み作りです。
やはり条件付き書式を使います。

グループ G01 のなかで部署が重複していないかを確認する設定です。
セル範囲 B2 から B5 を選択しておいて、条件付き書式では次のように入力します。

081

=COUNTIF($B$2:$B$5,B2)>=2 の数式で、セル B2 の値が、セル範囲 B2 から B5 のなかで2個以上あると TRUE が返り、設定した書式が実行されます。

COUNTIF関数の構文は次のようです。

COUTNIF(範囲,条件)

第一引数の「範囲」( $B$2:$B$5 )が絶対参照で、第二引数の「条件」( B2 )が相対参照になっているので、セル範囲 B2 から B5 のなかで B3、B4、B5 の値が 2 個以上あるかが判定されます。
そうすることで、グループ G01 のなかで部署が重複しているか、いないかがわかります。
(セルが色付けされなければ、同じ部署はない。)

082

なお、重複を見つけるような、どこかのセルを強調したい条件付き書式では、「セルの塗りつぶし」を活用するのがコツです。
白黒で印刷しても判別しやすいですから。

同様の設定をセル範囲 B6 から B9、B10 から B13、 B14 から B17、B18 から B21 にも行います。
(いちグループ 4 名なので 4 行分ずつ設定している)

=COUNTIF($B$6:$B$9,B6)>=2
=COUNTIF($B$10:$B$13,B10)>=2
=COUNTIF($B$14:$B$17,B14)>=2
=COUNTIF($B$18:$B$21,B118)>=2

オートフィルタでグループ名を絞り込むと、セル範囲が選択しやすいです。

これで、「4名ずつ5グループにランダムに分けて、同じ部署の人はいっしょにしない」ように検討できる仕組みの完成です。

ファイルができあがったら、何度でも使えるようにテンプレート形式で保存しておくことをお勧めします。

■結果の試行

F9 キーを押すたびにRAND関数が実行されて、グループ分けの結果が変わります。
F9 を何度か押して、B列で部署名が重複しない組み合わせを探せます。

■結果の確定

各グループのなかで部署名が重複しない結果が得られたら、表全体をコピーしてどこかに「値貼り付け」してください。
そうすることで、その結果を確定できます。
値貼り付けで結果を確定しないと、ファイルを開くたびにRAND関数が実行されるので結果が変わってしまいます。

■「5名ずつ4グループ」への対応

シート「設定」のセル A2 (人数)を 5 にします。
これでグループ分け自体はすぐにできます。

20名の参加者を4名ずつに分ける際にグループを5つ作っているので、5名ずつにすると4グループとなってグループが1つ多いですが、グループ数が余っているのは問題になりません。
シート「グループ分け」で使っているIFS関数の数式もそのままでエラーは起きないです。

シート「並べ替え」では次の2つの作業をします。
(先にもいったように、罫線で区切る作業は不要なら無視してください。)

・4名ずつのときのように、罫線でグループごとに区切る場合
セル A6 から C6 を選んで =設定!$A$2=5 の数式を条件に、セル範囲の下側に罫線をひく条件付き書式を設定。
同様の設定をセル A11 から C11、A16 から C16 に対して行います。(5行ごとにセル範囲の下側に罫線をひく。)

・「部署」の列で重複を見つける。
セル範囲 B2 から B6 を選択しておいて、条件付き書式の数式は次のように入力します。

=COUNTIF($B$2:$B$6,B2)>=2

同様の設定をセル範囲 B7 から B11、B12 から B16、B17 から B21 (各5行分)にも行います。

=COUNTIF($B$7:$B$11,B7)>=2
=COUNTIF($B$12:$B$16,B11)>=2
=COUNTIF($B$17:$B$21,B17)>=2

F9 を何度か押して、B列で部署名が重複しない組み合わせを探します。
値貼り付けで結果を確定することも同じです。

共有したテンプレートは、「4名ずつ5グループ」と「5名ずつ4グループ」の両方の設定をしています。

■総人数が変わったとき

今回の例では 20 名でしたが、もっと多くの人数が参加するときもありますよね。
次の7つの作業をします。

1.総人数を何名ずつ何グループに分けるかを決める。
例:30名
・3名ずつ10グループ
・5名ずつ6グループ
・6名ずつ5グループ

2.シート「設定」の「グループ名」と「区分け」をグループ数に合わせる。
想定される最大のグループ数分を作っておくのも "あり" 。
上の例なら、3名ずつで最大10グループになる。

3.シート「グループ分け」のRAND関数とRANK.EQ関数の列を、総人数に合わせる。

4.シート「グループ分け」の「グループ」の列のIFS関数の引数をグループ数に合わせる。
シート「設定」の「グループ名」と「区分け」の列の値を使うので、10グループに分けていたら10行分書く。

5.シート「並べ替え」で、SORT関数の引数を修正する。
第一引数の「配列」を、シート「グループ分け」のC列からE列のセル範囲に合わせる。

6.シート「並べ替え」で、グループごとに罫線で区切る条件付き書式を設定する。
(これは省いてよい)

・グループごとに罫線で区切る条件付き書式
いちグループが何名ずつかによって、書式を設定する行が変わってくる。
=設定!$A$2=3 (3名ずつ10グループの場合。3行ごとに設定)
=設定!$A$2=5 (5名ずつ6グループの場合。5行ごとに設定)
=設定!$A$2=6 (6名ずつ5グループ。6行ごとに設定)

7.シート「並べ替え」で、部署名の重複を見つける条件付き書式を設定する。

・部署名の重複を見つける条件付き書式
いちグループが何名ずつかによって、引数「範囲」の指定が変わってくる。
=COUNTIF($B$2:$B$4,B2)>=2
(3名ずつ10グループの場合。B2 から B4 の3行分に設定)

=COUNTIF($B$2:$B$6,B2)>=2
(5名ずつ6グループ。B2 から B6 の5行分に設定)

=COUNTIF($B$2:$B$7,B2)>=2
(6名ずつ5グループ。B2 から B7 の6行分に設定)

■人数が余る場合

総人数と何名ずつを一つのグループにするかで、人数に余りがでることもありますね。
たとえば、総人数が 30 名で 4 名ずつグループを分けたら、グループ数が 7 つで、2 名余ります。

そういうときは、もう仕方がないです。

グループ分けの結果を確定させたら、部署が重複してもその 2 名をどこかのグループに手作業で割り振るしかないです。

| | コメント (0)

富士山の初冠雪って……

富士山の初冠雪は、山梨側から見えないと発表されないのね。
もう少し具体的にいうと、山梨県甲府市にある甲府地方気象台から見えなければ発表されない。

富士山の初冠雪を観測、発表するのは甲府地方気象台なので。
昨日の「天声人語」で初めて知った。

実際には雪があっても、雲がかかって見えてなかったら見えるまで当然発表されない。
同日、あるいはそれ以前に静岡県側から雪化粧が見えていたとしても、甲府地方気象台から見えるまでは発表されない。
もう一ついうと、富士山のふもとなど同じ山梨県側から見えていても、甲府地方気象台からは見えてなければ、これまた初冠雪は発表されない。

とにかく、山梨県甲府市にある甲府地方気象台から見えたか? が鍵。

富士山の初冠雪の観測がいつ始まったのか知らないけれど、今日までの長い年月の間には、「富士山が初冠雪」のニュースを聞いて、「今日は初冠雪だっていっているけど、うちらに言わせたら "おとつい" だよな」などと話し合っていた静岡県人がいたはず。

あるいは、「"富士山が初冠雪" だっていってるけど、うちらに言わせたら "まだ" だよな」とか。

静岡側と山梨側、どちらが富士山の表なのか……真剣に主張し合う人たちにしてみれば、「今年はうちのほうが "初冠雪" が早かった」とか言い合ってるに違いない。

溢れろ富士山愛!

| | コメント (0)

«Excel用2022年(令和4年)の祝日