2022/05/24

【LINE】PC版LINEで、Enterキーを押して誤送するのを防ぎたい


こんにちは!

最近ようやくPC版のLINEを使い始めたtknriaです。

今まではPCとスマホは常にワンセットだったので、わざわざPCでLINEを見ることがなく、PC版は使っていませんでした。

しかし、セミナーや研修を受ける際に、スマホの利用を制限されることがあったり、
PCでのオンライン会議中にスマホを見ると小言を言われる場面があったり、
と、スマホだけに頼れる状態ではなくなってきたため、ようやくインストールしました。

すると、これがまた使いやすい!

業務上、ChatworkやSlackでのやり取りが多く、PCでのメッセージのやり取りに慣れているので、PC版LINEもすんなり使うことができています。

しかし、PC版LINEを使ってからというもの、誤送が多くなってしまいました。。


PC版LINEの誤送原因の一つは「Enter送信」

メッセージやり取りでの誤字脱字は気をつけているので、あまりないと自負しています。

しかし、PC版LINEを使うと、途中で送信してしまう、という事態が多発しているのです。

その理由は「Enter送信」。

その名のとおり、Enterキーを押すと送信する、というものです。


では、メッセージ中で改行したい場合はどうするか。

それは、Shift+Enterを押します。

こうすることで、改行はできます。

これがなぜ誤送に繋がるのか。


実は、ChatworkやSlackなど、メッセージサービスによってこの設定がバラバラなんです。

例えば私の場合、Slackの設定を、

・Enter→改行

・Ctrl+Enter→送信

としています。


これが、PC版LINEは、

・Enter→送信

・Shift+Enter→改行

とEnterの機能が逆なので、途中で送信してしまう、ということが起きています。


これ、困りますよね。

設定変えられたらな~と思っている方、多いはずです。

そのやり方をここではお伝えします。


PC版LINEの送信キー設定を変更する

まずはPC版LINEを立ち上げて、左下の「…」をクリックします。



現れたリストから「設定」(Settings)をクリック。


するとポップアップが立ち上がるので、左メニューの「トーク」(Chats)を選択。

すると、右側に「送信キー」(Send Key)の項目が表示される。

デフォルトだと、送信キーは「Enter」になっているので、プルダウンから「Alt+Enter」を選択すれば設定変更は終わりです。


これで、少なくとも途中で送信してしまう、ということは減らせるのではないでしょうか。


億劫なあとがき

いかがでしたか。

ChatworkやSlackの送信キー設定も変更できるため、そちらも含めて、自身が使いやすいようにカスタマイズしてみてはいかがでしょう。

そちらの設定方法は、また後日。

2021/03/18

【スプレッドシート】Importrange関数とQuery関数の融合


こんにちは!

Query関数の処理の速さが病みつきになっているtknriaです。

前回は、スプレッドシートのデータを他のスプレッドシートで参照する関数としてQuery関数をご紹介しました。

今回は、Importrange関数を組み合わせることで、他のスプレッドシートを参照して一部を抽出する方法を紹介します。


Query関数の引数にImportrange関数を使う


例えばスプレッドシートA内のsheet1の範囲A1:C3のデータを、別のスプレッドシートB内のsheet2で参照することを想定します。

これを行うために、まずは、B内のsheet2のセルにAのデータを引用してくる必要があります。

そこで、Bのsheet2に、

 =Importrange("スプレッドシートAのキー","'sheet1'!A1:C3")

と入力すれば良いです。

ここから、A列とC列のみを抽出するので、

 =Query('sheet1'!A1:C3, "select A,C")

と組み合わせます。


それがこちらです。

 =Query(Importrange("スプレッドシートAのキー","'sheet1'!A1:C3"), "select Col1, Col3)"


おわかりでしょうか。

下記のQuery関数において、

 =Query('sheet1'!A1:C3, "select A,C")

1つ目の引数の「'sheet1'!A1:C3」が「Importrange(~~)」に置き換わって、

2つ目の引数の「"select A,C"」は「"select Col1, Col3"」に変わっています。


前者については、参照する範囲を変更しているだけなので、問題ないかと思いますが、

後者は要注意です。


1つ目の引数の範囲が、同じスプレッドシート内だったら、抽出したい列名を直接アルファベットで指定すればよかったですが、

別のスプレッドシートを参照する場合には、指定されたの範囲の中の何列目かを指定する必要があります。

今回は、A列~C列の3列のなかのA列とC列(1列目と3列目)を抽出するというものだったので、「Col1, Col3」と指定しなければなりません。


少し慣れが必要なところではありますが、何度か実際に使ってみるなかで感覚的にわかってくると思うので、ぜひトライしてみてください。


億劫なあとがき


いかがでしたか。

例えば、同じ営業部内でも、商材によって管理しているスプレッドシートが別、ただ数字はまとめて管理したい、というようなケースがあると思います。

実際に私の部署はそうしています。
知っておいてほしい数字と知らなくていい数字があるので、その切り分けにとてもやりやすいです。

そういった場合には、今回のようにImportrange関数とQuery関数の合わせ技が有効です。


2021/03/17

【スプレッドシート】Query関数を使ってシートを一部分のみ参照したい



こんにちは!

もうすぐ年度がかわりますが、引き続きスプレッドシートを多用しそうで嬉しいtknriaです。


以前、スプレッドシートのデータを他のスプレッドシートで参照する関数としてIMPORTRANGE関数をご紹介しました。

億劫な細道|別のスプレッドシートの値を参照したい


今回は、あるデータを参照して、条件付きで引用してくる、という関数を紹介します。



Query関数を使ってみよう


その関数はQuery関数です。

例えばスプレッドシートA内のsheet1の範囲A1:C3のデータを、同じA内のsheet2で参照することを想定します。

これを行うためには、sheet2のセルに、

 =Arrayformula('sheet1'!A1:C3)

と入力すれば良いです。

同様に、Query関数を使うと、

 =Query('sheet1'!A1:C3)

となります。

これだけなら、Query関数の特徴はそれほど目立たないのですが、ここからが本領発揮です。


Query関数を使って指定した列だけ抜粋する


上記の例で、A列とC列だけを抜きだしたい場合、

 =Arrayformula('sheet1'!A1:A3)

 =Arrayformula('sheet1'!C1:C3)

と分けて抽出する必要があります。

これが、Queryを使うと、

 =Query('sheet1'!A1:C3, "select A,C")

と1つの関数で書けてしまいます。


Query関数を使って条件に合う値をもつ列を行ごと抜粋する


具体例でいうと、営業マンが3人(D~Fさん)いて、それぞれの受注案件をリスト化していることを想定します。

ここから、Dさんの案件のみを抽出する場合、スプレッドシートのフィルタ機能を使うこともできますが、Query関数を使っても可能です。

sheet1のB列に担当営業の名前が入っているものとすると、

 =Query('sheet1'!A1:C3, "where B='D'")

とすれば、Dさんの案件のみを抽出することができます。


億劫なあとがき


いかがでしたか。

Query関数でできることは他にもありますが、今日はここまで。


2021/03/14

業務効率化は「なぜ効率化するのか」が大事



こんにちは。tknria(@tknria0304)です。


大学院卒業後、新卒のときからずっと業務効率化をしてきて丸10年(2021年3月現在)になりました。

このブログだけでなく、効率化セミナーや相談会でも、業務効率化について発信し続けてこれたのは、みなさまのおかげです。

この場を借りて、お礼の言葉を述べさせていただきます。
本当にいつもありがとうございます。

今後も、tknria、億劫な細道ともに、よろしくお願いいたします。


さて、ここまでの10年で、様々な企業で、様々な職種の業務効率化に取り組んできました。

・精密機器メーカーの開発職
・IT企業のテレマーケティング営業職
・電機メーカーの技術営業職
・システムメーカーのシステム営業職
・ITベンチャーの営業職
・ITベンチャーのマネージャー職
・サービス系企業のwebマーケティング職
・サービス系企業の商品企画職
・サービス系企業の総務・労務職
・小売店のブランディング職

これらの業務を効率化してきて感じるのは、

「仕事が遅い人は、自分がやらなくても良い業務に時間を割きすぎている」

そして、

「そのことに意外と気づいていない」

ということです。

また、それに気づいて効率化をしようとしても、「効率化する目的・理由」がない場合が多いです。


自分がやらなくても良い業務をやらない


今取り掛かっているその業務、本当にあなたがやる必要がありますか。

実は後輩に任せてしまっても良いものなのではないでしょうか。

しかし、任せようと思うと教える必要があり、面倒なので自分でやってしまう。。

僕はそう考えて、自分でたくさんの業務を抱えてしまっていたことがありました。


ただ、それをいつまでも続けていても成長はなく、実績が変わらないので昇格もないと気づき、あるときを境にやめました。

最初はなかなかうまくいかないかもしれません。
任せたいと思っても、自分も忙しいからと断られることもあるでしょう。

それでも、その意志をはっきりと伝え、その代わり他でしっかり成果を出すと宣言して行動することが大事です。


効率化相談会で多くの人が抱える悩みのひとつはこれです。

そこも一緒に考えて、自分が本当にやるべき業務に集中できる環境を整えていきましょう。


そのために必要なのは、スキルや能力ではなく、効率化する理由です。


効率化で大事なのは効率化する理由


こう書くと、「業務時間を削減したいから、という理由があります」という方がいると思いますが、これは理由ではありません。


例えば、少し太っている方がダイエットしようとしても、なかなかうまくいきません。

それは理由がないからです。

理由がないため、ダイエットするのに必要な運動や食事制限という負荷に耐えられません。


業務効率化でも同じことが言えます。

特にVBAやGASで効率化するためには、スキルを身につけたり、コードを書いたりする時間を確保する必要があります。
そしてその時間を、慣れないことに費やす必要があります。

効率化したほうが良いのは全員わかっていますが、効率化する理由がそこまで強くないので、これらの負荷に耐えられません。


では、どのような理由が、理由になるのか。

ダイエットでいうと、ダイエットしたその先をイメージすることが重要です。

結婚式前の花嫁のダイエットは必ず成功します。

これは、ダイエットをしてこのドレスを着て結婚式に出る、という具体的なイメージと期日を決めているからです。
これが理由と呼べるものです。


効率化では、効率化することで浮いた時間を何に使うかを決める、ということになります。

ただ効率化しただけでは、その浮いた時間を有効に活用できず、ただ時間が空くだけになりがちです。

ですので、例えば、「その時間を資格試験の勉強に充てる」や「他の業務に充てて定時で帰るようにする」というイメージが重要です。


億劫なあとがき


いかがでしょうか。

「なぜ効率化するのか」

この重要性が伝われば幸いです。



関連記事

・これからGASを始めたい!という方にはこちらの記事がオススメ
 → 億劫な細道「GAS まずGASを使ってみたい

・VBAやGASについてもっとざっくり知りたい方はこちらの記事がオススメ
 → 億劫な細道「VBAやGASを用いた業務効率化のススメ

2019/10/21

【GAS】スプレッドシートからGmailを送りたい



こんにちは!仕事時間の約7割はスプレッドシートを操作しているtknria(@tknria0304)です!

以前に「Gmailに届いたメール内容をスプレッドシートに反映したい」という記事をご紹介しました。
今回はその逆、スプレッドシートからGmailを送っちゃおうという内容です。

この作業を簡単にしようと思うと、
 ・スプレッドシートから必要情報を読み込む
 ・Gmailでメールを作成し送信する
というステップを踏めば実現することができます。

では早速、その具体的な方法をご紹介させていただきます。


スプレッドシートからGmailを送ろう


スプレッドシートからGmailを送る方法は簡単です。

宛先・件名・本文を決めて、「MailApp.sendEmail」で送る。

実はたったこれだけなんです。
これを実現するのは以下のコードです。

function SendGmail() {
  var recipient = "xxxx.xxxx@xxx.co.jp"   // 宛先
  var subject = "テストメールの件名"   // 件名
  var body = "tknriaです。\nテストです。"   // 本文
  MailApp.sendEmail(recipient, subject, body);
}

このコードでは、宛先・件名・本文を直接設定しています。

これを、例えばスプレッドシートの「テスト」シートの「D2」セルに入力された宛先に送る、としたい場合は、

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('ここに取得したいシート名');
var recipient = sheet.getRange(2,4).getValue();

とすれば良いです。

ぜひ、いろいろいじってみながら感覚をつかんでください。


億劫なあとがき


いかがでしょうか。
これとトリガー設定を組み合わせることで、定型のメールを望んだタイミングで定期的に送ることが可能です。

トリガー設定については後日、ご紹介できればと思います。



関連記事

・これからGASを始めたい!という方にはこちらの記事がオススメ
 → 億劫な細道「GAS まずGASを使ってみたい

・VBAやGASについてもっとざっくり知りたい方はこちらの記事がオススメ
 → 億劫な細道「VBAやGASを用いた業務効率化のススメ