ExcelでIF()関数を使って列を分割する方法 - TechRepublic

ExcelでIF()関数を使って列を分割する方法 - TechRepublic

イラスト:リサ・ホーナング、ゲッティイメージズ/iStockPhoto

私たちは皆、自分の仕事のルーチンに合わないMicrosoft Excelシートを受け継いでいます。シンプルな追跡シートであれば、通常は自分の仕事のニーズに合わせて変更できます。

例えば、財務シート構造ではなく、従来のデータベース設計に従ったシートで作業することは珍しくありません。このような場合、新しい構造を一から作成するのではなく、いくつかの式を使用することで構造を改良できる場合がほとんどです。この記事では、2つのIF()関数を使用して、単純な「データベース」シートを別の列の値に基づいて複数の列に分割する方法を説明します。

開示事項: TechRepublicは、このページで紹介されている一部の製品から手数料を受け取る場合があります。TechRepublicと著者は、この独立したレビューに対して報酬を受け取っていません。

私は(デスクトップ版の)Office 365を使用していますが、以前のバージョンでもご利用いただけます。ご都合に合わせて、デモ用の.xlsxファイルをダウンロードしていただけます。また、ご自身のデータでもご利用いただけます。式はブラウザ版でご利用いただけます。

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

データベースでは、多くのデータがタイプ別に定義されます。そのため、実際の値を格納するフィールドは1つだけで済みます。Excelでも図Aに示すように、この簡略化された表では値フィールドを1つだけ使用し、各値を借方または貸方として定義しています。Excelでは、借方と貸方の2つの値列として表示されることもあります。取引タイプは各列ヘッダーで識別されるため、取引タイプフィールドは存在しません。

図A

図Aのようなシートを継承したが、2種類の取引を異なる列に入力する、より従来的なシートを作成したい場合でも、問題はありません。まずは「テキストを列に分割」を試してみてもいいかもしれませんが、この場合は1列しか処理できないため、この機能は使えません。2列目の条件値に基づいて値を分割することはできません。代わりに、借方用と貸方用にそれぞれ1つずつ、2つのIF()関数を使用します。

IF() 関数は次の形式を使用します。

IF(条件,,)

ここで、 conditionは真または偽を表す値または式であり、true引数false引数はそれぞれconditionが真または偽の場合に何が起こるかを指定します。それでは、この関数を使ってみましょう。

借方表現の作り方

文字列を区切るための文字列関数はいくつかありますが、条件式が必要です。そのため、借方の値を返すIF()式と貸方の値を返すIF()式という2つの異なるIF()式を使用します。

借方の値から始めましょう。まず、セルE2に「Debit」と入力して新しい列を作成します。Tableオブジェクトを使用している場合(私のように)、Excelは自動的にTableを拡張します。E3に次の式を入力します。

=IF(C3=”借方”,D3,””)

式を列の残りの部分にコピーします。図Bは、列Eの2つの借方の値を示しています。

図B

この時点で、列Eには列Dの借方の値のみが含まれています。列Cの値が「Debit」と等しい場合、関数は真の引数、つまり列Dの対応する値を返します。それ以外の場合、関数は空白文字列(“”)を返します。ご覧のとおり、列Eには列Cの対応するテキストが「Debit」である2つの値のみが含まれています。次に、貸方用の列が必要です。

クレジット表記の作り方

IF() 式を使って借方値を分割できたので、貸方値は自分で計算できると思います。F2 にCreditと入力すると、Table オブジェクトが Table を拡張します。基本的な関数は同じですが、今回は条件として Credit を使用します。

=IF(C3=”クレジット”,D3,””)

図Cに示すように、列Eには借方の値、列Fには貸方の値が表示されています。しかし、まだ終わりではありません。

図C

数式と値の違い

今のところ、これで完了のように見えますが、まだ完了していません。E列とF列の値は2つのIF()関数の結果であり、リテラル値が必要です。IF()関数は、既存の値を今後使用する構造に取り込むための一時的な手段にすぎません。

数式を変換するには、次の手順を実行します。

  1. E3:F6 (IF() 関数を含む範囲) を選択します。
  2. [ホーム] タブの [クリップボード] グループで、[コピー] をクリックします。
  3. 同じグループで、「貼り付け」ドロップダウンをクリックし、「値の貼り付け」セクションで「値」(最初のオプション)を選択します(図D)。これにより、列EとFの値はリテラル値になり、IF()関数は表示されなくなります。

図D

列を整理する方法

元の値を列に分割したので、少し整理してみましょう。まず、列EとFの新しい値の書式を設定します。今回は通貨形式を適用します。次に、列CとDは不要になったため、削除または非表示にします。図Eは完成した結果です。これで、ユーザーは列Eと列Fにそれぞれ借方と貸方を入力できます。

図E

Tagged: