オフィスソフト

「Office」の使い方Q&A--「Excel」で年齢層によるグループ分けを動的に

「Excel」シートにあるグループの年齢層を企業の独自のルールに従ってカスタマイズしたいというのは、よくある要望だ。ここでは、連結式を使ってマトリックス表を作成し、各年齢グループを生成する方法を紹介する。

 Vincentさんは、レコードを年齢層でグループ分けする方法を知りたいと思っていた。すべての人に年齢があるが、Vincentさんの目的は、特定の年齢でグループ分けするのではなく、年齢層別にグループ分けすることだ。各グループは、最低年齢と最高年齢で定義する。たとえば、1歳、2歳、または3歳の子供は、「1~3」というグループに分類される。グループの年齢層を企業の独自のルールに従ってカスタマイズしたいというのは、よくある要望だ。Vincentさんは、グループの値を手動で入力することもできるが、そうしたいとは考えていない。もっともなことだろう。

 この作業をたった1つの式で実行しようとすれば、困ったことになるだろう。筆者なら、もっと簡単なアプローチを採る。この記事では、連結式を使ってマトリックス表を作成し、各年齢グループを生成する。それから、VLOOKUP()関数を使って、一人ひとりに適切な年齢グループが返されるようにしよう。

 筆者は、64ビット版の「Windows 10」で「Excel 2016」を使用している。ここで紹介する方法は古いバージョンでも利用できるが、テーブルオブジェクトとIFERROR()関数は、「Excel 2003」以前のバージョンでは利用できない。「Office 365」のブラウザ版では、この方法を利用できる。また、自分のデータで作業してもいいし、「.xlsx」形式のデモファイルをダウンロードすることもできる。

はじめに

 最初のステップは、各グループの年齢幅を決めることだ。Vincentさんは、1~3、4~6、7~10のように、3歳ごとのグループを考えている。図Aにあるように、ここからスタートだ。H1の値は、各年齢グループの年齢幅を示している。必要があれば、この値を更新してマトリックス表を変更できる。

図A:セルH1の入力値は、これから作成する年齢グループのマトリックス表の基礎となる。
図A:セルH1の入力値は、これから作成する年齢グループのマトリックス表の基礎となる。

マトリックス表

 マトリックス表に、式ではなく値を入れることもできるが、考えてほしい。もしそうすれば、誰かがルールを変更すると、マトリックス表のセルを一つひとつ修正しなければならなくなるだろう。入力値を参照する式を使えば、その値を変えるだけで、マトリックス表全体に変更を適用できる。

 たいていの場合、先頭のグループは1歳(または0歳)から始まるだろう。これが、このマトリックス表で使用する唯一の値だ。セルF4に1と入力しう。それから、以下の操作を行って、マトリックス表を作成する。

  1. 次の式をセルG4に入力する(図B)。

    =$F4+$H$1
  2. 次の式をH4に入力し、先頭のグループに「1-3」と表示させる。

    =$F4&"-"&$G4
  3. 次の式をセルF5に入力し(図C)、2番目のグループに開始年齢が表示されるようにする。

    =$G4+1
  4. G4とH4の式を5行目にコピーする(図D)。
図B:この式は年齢グループの最高年齢の値を返す。
図B:この式は年齢グループの最高年齢の値を返す。
図C:次のグループの最低年齢。
図C:次のグループの最低年齢。
図D:式をコピーする。
図D:式をコピーする。

あなたにおすすめの記事

関連記事

ホワイトペーパーランキング

  1. Amazonサービスが鍛え上げた「AWSの機械学習」、実際に使ってみませんか?すぐ導入できるガイド
  2. AIのメリットを引き出す「7つの領域」と「17の活用シーン」
  3. 外資系CRM/SFA導入後たった1年で挫折する企業が多い理由が明らかに!失敗例から成功の秘訣を学べ
  4. 許可されていないクラウドサービスの利用が半数近くにも!調査結果に見るクラウド利用の実態
  5. 調査結果で“はっきり”と差が出た!業績好調企業と不振企業の課題設定と取り組み

編集部おすすめ

カテゴリ・テーマ特集ページ[PR]

サーバ
PC・モバイル
ストレージ
ネットワーク
仮想化
クラウドサービス
OS・ミドルウェア
開発
データベース
運用
セキュリティ
新興技術
財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
サイト構築
PCソフト
オフィスソフト
OCR
学習

ベンダー座談会

Follow TechRepublic Japan