オフィスソフト

「Excel」での列の分割--IF()関数で別の列の条件値を参照

「Excel」でセルの値を分割するには「区切り位置」機能を使用できるが、これは単一のセルを対象とする機能だ。別のセルの値に応じて分割したい場合にはIF()関数を使用する。

 誰かから「Microsoft Excel」シートを引き継いだが、自分のいつものやり方に合わないシートだったという経験は、多くの人がしているはずだ。それが何らかの単純な追跡記録シートなら、多くの場合、自分の作業方法に合うように変更することができる。

 たとえば、財務用シートの構造ではなく、従来のデータベースの設計に従うシートで作業することは珍しくない。そうした状況では通常、新しい構造を一から作成しなくても、数式をいくつか使用して構造を作り変えることが可能だ。本記事では2つのIF()関数を使用して、単純な「データベース」シートを、別の列の値に基づいて複数の列に分割する。

 筆者は「Office 365」(デスクトップ版)を使用しているが、古いバージョンを使っても構わない。デモ用の.xlsxファイルをダウンロードすると便利だが、自分で作業用のデータを用意してもいい。これらの数式はブラウザー版でも機能する。

IF()関数を使用する理由

 データベース形式では、多くのデータが型によって定義される。そのため、実際の値を入力するフィールドが1つだけで済む。図Aに示すように、これはExcelでも可能だ。この単純なテーブルは、値フィールドが1つしかなく、それぞれの値が借方または貸方として定義されている。Excelでこのテーブルの値列を2つにして、1つを借方用、もう1つを貸方用とし、取引タイプのフィールドは削除して、各値列のヘッダーに取引タイプを記載することもできる。

図A

借方と貸方という取引タイプに基づいて、D列の値を2つの列に分割する必要がある。
借方と貸方という取引タイプに基づいて、D列の値を2つの列に分割する必要がある。

 図Aのようなシートを誰かから引き継いだが、2つの取引タイプが別の列にある伝統的なシートを使いたいという場合も、やり方はある。最初に「区切り位置」を試そうと思うかもしれないが、これは単一の列を扱う機能なので、今回のケースではうまくいかない。別の列の条件値に基づいて値を分割する場合には使用できない機能だ。代わりに、借方用と貸方用に2つのIF()関数を使用する。

 IF()関数は以下の形式にする。

IF(condition,true,false)

 condition(条件)はtrue(真)またはfalse(偽)と一致する値や式であり、trueおよびfalse引数には、conditionがtrueの場合とfalseの場合にそれぞれどうなるかを指定する。では、この関数を使ってみよう。

借方の式の作り方

 文字列を区切るための文字列関数はいくつかあるが、今回は条件式が必要だ。そこで、2種類のIF()式を使用する。1つは借方の値を返す式で、もう1つは貸方の値を返す式だ。

 借方の値から始めよう。まず、セルE2に「Debit」(借方)と入力して、新しい列を作成する。(筆者と同じように)テーブルオブジェクトを使用している場合は、Excelが自動的にテーブルを拡張してくれる。セルE3には以下の数式を入力する。

=IF(C3="Debit",D3,"")

 この数式を列の残りのセルにコピーしよう。これで図Bのように、E列に借方の値が2つ表示される。

図B

既存の借方の値を表示する新しい列が作成された。
既存の借方の値を表示する新しい列が作成された。

「オフィスソフト」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

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

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

  1. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  2. ノートPCは従来ながらの選び方ではダメ!新しい働き方にも対応する失敗しない選び方を徹底解説
  3. 問題だらけの現場指導を効率化!「人によって教え方が違う」を解消するためのマニュアル整備
  4. 緊急事態宣言解除後の利用率は低下 調査結果に見る「テレワーク」定着を阻む課題とその対応策
  5. たしか、あのデータは、こっちのアプリにあったはず…--業務改善のためのアプリ導入がストレスの原因に?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]