タグ別アーカイブ: 関数
IT未経験からDX人材に!
【そのITへ取り組み、まずは身近なエクセル業務の改善、VBA、そしてRPAからははじめてみませんか?】
技術の進化により、実務の現場での「ITの力」の存在感は日々増す一方です
このブログの読者の方の中には、こんな悩みを持つ方もいらっしゃると思います
・会社からDX人材になるように求められているが、どうしたらいいのか分からない
・IT部門やIT関連の打ち合わせが多いが、話しについていけない
・AIやRPAなどによる業務削減が進んでいて、近いうちに自分の仕事もなくなる恐怖がある
・システムエンジニアにキャリアチェンジしたいが、プログラミング知識・経験が全くない
・仕事が忙しく、VBAなどで事務処理を効率化する必要があるが始め方が全く分からない
私は45歳から全く未経験のシステムエンジニアの世界に入りました
もちろんプログラミングの経験などは全くありませんでした
6年のシステムエンジニアとして過ごす中で、後半の3年は「豊富な業務知識と経験」と研修抜きのまま、走りながら身に付けた「RPAやVBAの技術」を活かして「現場のブラックボックス業務」の解消を行うプロジェクトをこなしました
6年のシステムエンジニアとして過ごして感じたことは、ITの世界には「抜け道」があることです
・ノーコードの技術に代表されるように、専門知識があまり必要ない技術が出現している
・ITの分野は細分化されており、どんどん新たな分野が出現している
・人の仕事を代替するRPAの開発などでは、プログラミング技術より業務経験が活きるケースがある
未経験だから・年齢が若くないから・といった理由で、ITの世界では全く通用しないということはありません
逆に未経験だからこそ、若くないからこそ「今から」ITの世界を知る必要があります
何故なら、今の世の中ではITの力は決して欠かせないものだからです
ぜひ、このブログで「ITへの取り組み」を本気ではじめるきっかけになれば幸いです
このブログを活用する上で、1点だけお願いがあります
このブログで記事を読んだら、ぜひ実際に手を動かしてみてください
このブログで紹介する内容は、無料で環境構築の必要がないものです
そして、手を動かす中でITの楽しさを体感して頂きたいと思います!
目次
エクセル業務の改善
まずエクセル業務の改善をするのが何故、ITと関係あるのかを解説したいと思います
ITとは「Information Technology」の略です
日本語に訳すと「情報技術」です
そして、情報の基礎となるのがデータあり、データを扱う典型的な業務がエクセル業務です
エクセル業務はビジネスでつきものです

このエクセル業務を削減すれば、日常業務をかなり削減できるだけでなく、ITに取り組む上で重要な「データ管理」について学ぶことができます
このデータ管理を本格的に行う仕組みがデータベースです
データベースを作成すれば、ファイルやシート間の転記を行ったりする必要はなく、1か所でデータを管理できます
更にデータを様々な方で検索したり、利用することができます
エクセル業務を効率化しようと思ったら、このデータベースの構築が1つの柱になるはずです
本来、Microsoft社にはAccessというデータベースソフトがエクセルとは別にあります
ところが、エクセルは進化を続けており、今ではエクセルもデータベースのように活用できるようになっています
ぜひエクセルをデータベースとして活用してITの見識を深めつつ、業務の削減にお役立ててみてください
Power Query
Power Queryに代表されるモダンエクセルは、エクセルを使いながらAccessなどのデータベースの技術を活用できる画期的な技術です
コードを一から書くなどの小難しい技術は必要なく、スマホ感覚で活用できます!
Power Queryを始める前にまずはテーブル機能に慣れて頂くと、Power Queryをより理解し易くなります
Power Queryは従来のエクセルの使い方の様にファイルやシート単位でデータを扱うのではなく、テーブル単位でデータを扱うのが特徴になっています
⇒コラム:PDFファイルをエクセルに変換するなどのテクニックの紹介
⇒M言語
VBA
プログラミングをはじめるなら、エクセルVBAからはじめるのが一番てっとり早いです
環境構築の必要はほとんどなく、身近なエクセルを動かせるのでプログラミングとは何かを理解し易いと思います
このブログでは楽しくプログラミングが学べるように、VBAで作成したゲームを提供しています
このゲームでは登場人物の動きに合わせてコードも表示されますので、「英語映画の字幕学習」のような感覚で自然とVBAを学べるようにする工夫も行っています
ぜひ一度、ダウンロードして試してみてください
⇒VBA
VBAを学んでいくと、1日要していた仕事を一瞬で処理できるようなマクロを作成することができるようになります
そしてVBAを突き詰めていくと、単に業務削減が行えるだけでなく、新たなキャリアを作る機会も出てきます

・社内で業務改善やDXを推進する部署への移動
・他のプログラミング言語も学んでシステムエンジニアとして転職
・スキルシェアサービスなどで副業
後述するRPAなどでは、RPAと組み合わせてVBAを使う機会も多いです
これはRPAの対象業務や周辺業務がエクセル業務であるケースが多いからです
ですので、VBAを覚えるとRPA関連の仕事や副業を行える機会も出てきます
Excel VBA超入門第1弾エクセルが自動で仕事する!マクロの魔法 文系・非IT職もできるプログラミング
エクセルその他
⇒裏技
RPA
RPA(ロボティクス・プロセス・オートメーション)は人間の代わりに作業を行ってくれる技術で、今後、市場が継続的に拡大していくことが期待されています
RPAはノーコードと言われているように、あまり小難しい技術を必要としませんので、ITが未経験の方でも取り組みやすい分野です
RPAの作成を一言で表現すると、ブロックの積上げです
1つのブロックにはそれぞれ1つの命令が含まれており、ブロックを積み上げるとフローチャートができあがります

ですので、RPAの作成を複数回行って行けば自然とプログラミングの力、的確な業務フローを作る力が身に付いていくというメリットもあります
RPAの案件は実務に直結した小さな案件も多く、プログラミング技術自体よりもIT以外での業務経験が活きるケースがあります

RPA関連のサービスも様々なものが登場しており、これまでITと縁が無かった方でもRPAを学ぶ事で、隙間時間に副業を行うなどの新たなキャリアも描きやすくなってきております
今ではMicrosoft社のPower Automate Desktop(以降PAD)などのRPAが無料で簡単に使えます
RPAは何かを実際に動かして試してみたい方は、ぜひ実際にPADをインストールして手を動かして試してみて欲しいと思います
⇒無料RPA・Power Automate Desktop逆引き辞典
⇒無料RPA・Power Automate Desktop入門

☆★オススメIT学習方法~動画活用~☆★
IT学習のコツは、楽しく手を動かすことです
但し、時間や予算は無限ではありません
限られたリソースの中で、どのような学習方法を構築していくかはとても重要なことです
今回は動画を活用した、効果的な学習方法を紹介します ⇒
☆★オススメIT学習方法~基本情報技術者試験~☆★
基本情報技術者試験はITの登竜門です
この試験に取り組むことで、ITのフィールドで幅広く活用する機会が広がります ⇒記事


オンライン化に対応した未来を創ります!
【新たなオンラインWEBスクール「HINT」様と新たな「学び」を提供します!】
コロナ禍がもたらしたもの
新型コロナウイルス感染症が日本で最初に発見されたのは、2020年1月15日だそうです
このコロナ禍により、我々の生活は大きく変化しました
我々の生活の主体は「リアル」から「オンライン」主体に移行しました
ネットショッピングを主体とした巣ごもり消費が浸透するとともに、仕事の主戦場が「オフィス」から「リモート」に移行しました
つまり、我々の生活・仕事はリアルへの対応からオンライン仕様への変化が求められているのです
HINTのサービス
「好きな時間に」「学びたい内容だけピンポイントで」「大人数ではなくマンツーマンで」
*運営会社:株式会社DEX
HINTは「学び」についても、ネットショッピングのように手軽に「オンラインで」行えることを目指した新サービスです
Excellent仕事術では「オンラインで学習するメリット」を追求したこのサービスに参画し、「仕事のオンライン化に対応したエクセル術」の普及を進めます!
オンラインに対応したエクセル術
オンラインに仕事の主戦場も移行したことにより、個人の仕事の仕方も大きな変更がもたらされています
会話や人間の経験、勘よりも、データがより重視されるようになりました
個人が扱うデータ量が増え、データの説明もペーパーではなく、画面を利用して説明する機会が増えました
一方で、これまでであれば職場でデータの扱いに詳しい人に聞いたり、IT部門に相談して解決できたようなこともなかなか解決が難しくなっています
Excellent仕事術では「仕事のオンライン化」に対応した新たなエクセル術を、新たなオンラインサービスのHINTを通じて提供します!
・エクセル新機能/パワークエリ x データベース理論 ➡ 詳細
ITのプロの様に、大量のデータを効率良く扱えるようにする「お得な2時間」のレッスンです!
・エクセルダッシュボード ➡ 詳細
レーシングカーのコクピットにまるで座っているかのように、1画面で組織に必要な数字を魅せるテクニックです!画面内容をボタン一つで切り替えられるので、オンラインでの数字説明に最適です

・関数術 ➡ 詳細
関数が苦手な人は、関数独自の「同時に複数の参照」が実感できていません
この同時参照の動きをエクセルシート上で動くアニメで実感できるようにします

新たな未来を創ろう!
コロナ禍がもたらしたのは、実は生活の変化だけではありません
オンラインの浸透により「時間」の感覚が変わってきています
1年前の常識は通用せず、変化に対応していかないとどんどん取り残されていきます
「思い立ったが吉日」
もし、この記事を読んで少しでも「響く」ものがあったらぜひご連絡をください!
初心者から上級者まで幅広く対応させて頂きます!
事前問合せは無料です!
新たな未来創りに向け、ぜひお力にならせてください!!
INDIRECT関数を使いこなす!
5百あるエクセル関数の中でも、「ややこしい」が「使い勝手があり」「個性が強い」のがINDIRECT関数です
「INDIRECT関数って何ができるの?」と聞かれたら、少し返答に困ってしまいます
でも、確実に言えるのはこの関数は使えるということです!
今回は、INDIRECT関数の世界を覗いてみましょう!
基本形
今、下の画像のようにD2セルに「おやすみなさい」と入力されているとします

そして、B2セルには「D2」と「おやすみなさい」の文字が入力されているセルの名称が入力されています

上のGIF画像のようにINDIRECT関数の引数としてB2セルを指定すると、D2セルの内容が出力されます
名前参照
今度は、下の画像のようにD2セルに「挨拶」と名前を付けます

B3セルには「挨拶」の文字が既に入力されています
では、基本形と同じ様にようにINDIRECT関数の引数にB3セルを指定します

繰返しになりますが、「おはようございます」の挨拶が入力されたD2セルは「挨拶」という名前が設定されています
すると、下の画像のようにD2セルの内容が基本形と同じ様に出力されます

画像の抽出

INDIRECT関数をうまく使えば、画像の抽出も行えます

上の画像のように、東京タワーや自由の女神などの画像が入ったセルに名前をつけておきます
この画像をカメラで別な場所に映しだすと、下の画像のように数式バーでは「画像の入ったセル」を参照しています

なお、上の画像は実際にはトリミングを行っています
こちらの数式バーを先ほど名前をつけた「アメリカ」に変えても画像は同じです

では、名前と画像の関係をお話したので、前述のINDIRECT関数の仕組みを使用して画像を自由に変えられるようにしてみましょう
今回は、画像という名前の中にINDIRECT関数を設定します

下の画像のように「画像」という名前にて、上の画像のF1セルをINDIRECT関数を通じて参照するように設定します

こうしておけば、INDIRECT関数を通じて、F1セルに表示された名前の画像をカメラ機能で表示することができます
ちなみに、セルは絶対参照にしておきましょう!(セルの位置がズレていくことがあります)

<まとめ>
いかがだったでしょうか?INDIRECT関数の面白さを体感して頂けたと思います
今回は、最後、画像の抽出の事例を紹介しましたが、INDIRECT関数を使用してVLOOKUP関数の参照範囲を変えることもできます

つまり、INDIRECT関数を使って関数を二次元で使うことができるということです
興味のある方はそちらの記事も参照してみてください
UNIQUE関数xFILTER関数から重複無リスト抽出~条件一致~
FILTER関数やUNIQUE関数などの新関数の醍醐味は「関数同士の組み合わせ」にあります!
今回は FILTER関数とUNIQUE関数 の組み合わせにより、ある表から条件に合う重複が無いリストを作成する方法を解説します

そして、最後はUNIQUE関数xFILTER関数の組み合わせを応用した内容も解説します
関数の指定範囲に空欄が含まれると、下の画像のように出力結果に「0」が含まれてしまいますので、0を含まれないようにする方法も解説します

目次
条件に合う重複無リスト作成
応用編
<まとめ>
条件に合う重複無リスト作成
今回は、下の画像の左にある表から「70点未満の得点を一度でも取った人」リストを重複が無いように作成します

抽出元の表には、田中さんや佐藤さんのように同じ名前の人のデータが複数含まれています
まずは設定条件/<70に沿ったFILTER関数を作成してみましょう
FILTER関数の書き方は次の通りです
=FILTER(抽出範囲,条件)
上の書き方を今回のやりたい事に当てはめると次の画像の通りになります

上の画像では、まだFILTER関数しか入力していないので、リストに佐藤さんの名前が複数回登場しています
ですので、FILTER関数にUNIQUE関数を下の画像のように組み合わせます

これで、佐藤さんの登場は1回のみになりました
各種集計/合計から四捨五入まで~上級編4回目
こんにちは、Excellent仕事術のガッツ鶴岡です
エクセルは表計算ソフトなので、エクセル作業に集計処理はつきものです
必要な関数を調べて入力したり、ピボットテーブルにして処理したりする作業はちょっとガッツが必要なものです
Power Queryでは、様々な切り口による集計処理を直感的なクリック操作で行えるのが、大きなメリットです
Power Queryエディター内の「変換タブ」と「列の追加タブ」では、集計処理のためのメニューが豊富に揃っています

今回の解説では、上の画像の左のメニューから順にポイントを絞って解説します
尚、三角関数と情報メニューについては、解説を今回は割愛させて頂きます(指数メニューについても概要だけの解説になります)
今回、解説する上で分かりにくい点が1点あります
変換タブと列の追加タブには、統計以外は同じメニューがあります
違う点は、集計した列を追加するかどうかだけです
今回の解説では、極力、変換タブに絞って解説を行います
目次
1.統計処理メニュー
こちらのメニューは列単位での集計処理メニューになります
「列単位での集計処理」という意味は、下の画像を例にとれば「販売個数の列」を行方向に一括で集計するという意味です

ですから、集計した値は1つだけ出力されます
統計ボタンの右下にある▼マークをクリックすると、様々な集計切り口が出てきます

今回は、合計だけ出力してみます
集計する列をカーソルで指定し「合計」を押します

すると、列にある値を合計した値「1011」が出力されました
ちなみに、Power Queryコラムでも書きましたが、こちらの統計処理メニューには、「個別の値のアカウント」という集計方法があります
こちらは、列内にある重複しないリスト数を集計するという優れた機能です
従来のエクセルの使い方であれば、複数回のステップが必要な集計処理でした
「個別の値のアカウント」について興味のある方は、こちらの記事もぜひご参照ください
カスタム関数を自身で登録して使い回す~上級編8回目

資料を作成する度に、毎回毎回、同じ数式を入力していませんか?Power Queryではカスタム関数という仕組みにより、事前登録したカスタム関数を呼び出して使い回していくことができます
今回とあわせて2回に分けて、カスタム関数についての解説を行います
私が昔、企画の仕事をしている時は、会議の前日は必ず数値資料を作成していました
「前期比」「利益率」「単価」などを資料に盛り込むわけですが、毎回決まった数式を表に入力していました
毎回、同じ数式を入力するので体で覚えてしまったことをよく覚えています
この記事を見て下さっている読者の方の中にも似たような経験のある方がいらっしゃるのでないでしょうか?
カスタム関数をマスターして、「同じ数式の再入力」は自身で事前作成した「カスタム関数」の呼出し処理だけで代用できるようにしましょう!
本格的な解説に入る前に、「今回のポイント」と「今回使用するデータと、作成するカスタム関数」について解説を行います
1.今回のポイント
中学数学の方程式
中学時代にこんな問題を数学の時間に出された経験はありませんか?
Y=aX+bの式に(X=2,Y=5)を代入するといった問題です
今回のカスタム関数を作成する時にも、同じような考え方をします
ただ、今回は代入するのが「列の名前」になります
空のクエリの作成
今回はA.の方程式を、空のクエリを作成してから指定します
「空のクエリ」はこれまでのPower Queryの解説では出てこなかった方法です
更に空のクエリを作成した後、Power Queryエディター画面から詳細エディター画面を開き、下の画像の「let」と「in」の箇所に方程式を指定します

2.今回の使用データと作成内容
今回のポイントを2点解説したので、次に今回使用するデータと作成するカスタム関数について解説します
今回使用するデータは、次の画像にあるデータになります

今回作成するカスタム関数は、黄色く塗られた列の値を使用して、下の画像の利益を計算する関数になります

ちなみに、上の画像の「利益」の列には以下の数式が入力されています

使用するデータと作成するカスタム関数について解説したところで、本格的な解説に入ります
3.空のクエリ作成
データタブの「データの取得」から「その他のデータソースから」を開きます

開いた一覧の一番下に「空のクエリ」があります

上の画像の「空のクエリ」をクリックすると、Power Queryエディターが開きます
次にPower Queryエディターのホームタブから「詳細エディター」を開きます

すると、次のような画面が開きます

上の画像の「Let」の下と「in」の下に、ポイントAで解説した方程式を入力していきます
<まとめ>
今回は、カスタム関数を作成するにあたってのポイントを2点解説した後、ポイントAで解説した、方程式を入力する画面を開くところまでを解説しました
詳細エディターの画面は少しややこしいところもありますが、方程式の作成の仕方をイメージしてもらえればOKです
では次回は、カスタム関数を完成させます!


カスタム関数を自身で登録して使い回す2~上級編9回目

今回はPower Queryでカスタム関数を作成した後、実際に作成した関数を呼び出す方法を解説します
まずは、前回の内容の「振り返り」から行いたいと思います
前回は、カスタム関数を作成する際の「ポイント」と「作成画面」について解説しました
解説の対象となる、これから完成しようとしてる「カスタム関数」は次の画像の「販売単価」「製造原価」「販売個数」から「利益」を算出する関数です

上の画像の数式バーにあるように、利益を算出するのに数式を入力していたところを、カスタム関数を呼び出すだけで「利益」を自動算出できるようにします
カスタム関数のポイントとしては、2点を解説しました
1点目は、中学時代に習った「方程式を思い出す」です
カスタム関数はこの方程式と同じ様な考えで作成します
そして、代入するのは「列の名前」になるのが特徴です
2点目は、カスタム関数の作成画面についてです

前回は、上の画面を開いたところまでを行いました
では、この「詳細エディター」画面にてカスタム関数を設定するところから解説をはじめます
目次
1.関数の設定
今回は、次の数式を詳細エディター上に関数として設定します
利益=(販売単価-製造原価)x 販売個数
ここで、詳細エディターへの設定方法を分かり易くするために、前回のポイントで解説した方程式を使って解説します
前回のポイントで、方程式の事例として解説したのは次の方程式です
Y=aX + b
上の方程式を詳細エディターに設定したとすると、次の画像のようなイメージになります

letの箇所は2段の設定になります
1段目:Y = (a,X,b) =>
2段目:ax + b
1段目で「変動する数」として使用する記号を、=を挟んで右辺と左辺に分けて設定した後に、「=>」の2文字で2段目に繋ぎます
そして、2段目では方程式の右辺を設定します
inの箇所はYを設定するだけです
方程式を例に取って、詳細エディターの設定イメージをお伝えしたところで、本題の関数を設定します
利益=(販売単価-製造原価)x 販売個数
上の数式の「変動する数」はそれぞれ、以下のように設定するものとします
・利益 ➡profit
・販売単価 ➡price
・製造原価 ➡cost
・販売個数 ➡quantity
では、上の「変動する数」を詳細エディターにあてはめると下の図のようになります

画面下に以下の文字が出ていたら、右下の「完了」を押します

すると、下のような画像に切り替わります

画面には「パラメーターの入力」と出ていますが、こちらは無視していいです
ここからは通常のクエリを作成した時と同じように、エクセルシートに読込処理を行うわけですが、画面右にてクエリー名を「利益」としておきます

読込処理を行った後は、通常のクエリーと同じ様に画面右に表示されています

マークは通常のクエリとは異なっています
ちなみに、後でこの「利益」の名前を使用して「関数呼び出し」を行います
これで、カスタム関数は完成です
Sがつく関数は素晴らしい~MAXIFSとMINIFS~
これまで、IFS関数、COUNTIFS関数、AVERAGEIFS関数を紹介してきました
いずれの関数も複数条件を設定できるので便利です
今回紹介するのはMAXIFS関数とMINIFS関数です
日常的には使いみちはあまりないとは思いますが、エクセル分析をしたい方には便利だと思いますね
簡単に数字のツボがつかめます
私はこれまでピボットテーブルで、この条件つきの最大値と最小値は把握していました

ピボットテーブルまで作成しなくても、このMAXIFS関数とMINIFS関数では、関数1つで最大値と最小値を把握できるのでとても便利です
!MAXIFS関数とMINIFS関数の書き方
これまで紹介してきた、IFS関数やCOUNTIFS関数と書き方は同じです
=MAXIFS/MINIFS(対象範囲,条件範囲,条件)

Sつき関数は共通の書き方なので、慣れれば慣れるほど使いやすくなりますね



Sで終わる関数は素晴らしい~AverageIfs関数~
エクセル関数はとても進化しています
XLOOKUP関数も同様ですが、新エクセル関数は絶対に活用した方がいいです!
IFS関数、COUNTIFS関数、そしてAVERAGEIFS関数は、複数条件を簡単に作成できるので便利です
上記3つの関数ともに関数の書き方は同様です
1.文法
AVERAGEIFS関数の書き方は以下になります
=AVERAGEIFS(平均算出範囲,条件範囲1,条 件1,条件範囲2,条件2,・・・)
2.事例解説
今回、AVERAGEIFS関数を試してみるデータは以下です

条件設定と平均値算出は以下の画面で行います

部門と受注日が抽出条件になります
数式は以下の様に設定してあります

複数条件はB列/条件範囲1,⇒C列/条件範囲2の流れで設定しています
この複数条件設定を他の方法で行おうとしたら、関数ではなくピボットテーブルで算出した方が早いですね
関数1つで複数条件を算出できるのは、もの凄い進歩です

最後に補足ですが、部門のリストデータはUNIQUE関数を活用しています
UNIQUE関数で部門の列(東京、東京・・、大阪、大阪)から重複を削除した上で、「#」にてリストとして再利用しています
UNIQUE関数とリストの組み合わせについて深く知りたい方はこちらを参照してください

