Q.VLOOKUP(ブイルックアップ)関数のコピーで列番号を自動的に変える方法はありますか。
A.Excel(エクセル)業務でデータの転記に使用されるVLOOKUP(ブイルックアップ)関数は、数式を右にコピーすると、下図のように同じ列番号のまま表示されるため個々に列番号の修整をする作業が必要になります。
そこで列番号を自動的に変更する便利な関数として、2つご紹介致します。
MATCH(マッチ)関数とCOLUMN(コラム)関数です。
【MATCH関数】
指定した値が、指定した範囲の中で何番目にあるか番号で取得する関数です。
横方向の範囲指定では左から何番目にあるか、縦方向の範囲指定では上から何番目にあるかを返します。
引数は、=MATCH(検査値,検査範囲,照合の種類)
列番号をMATCH関数で指定した数式は次の通りです。
MATCH関数で「項目名」が範囲の何列目にあるかを求めているため、入力する表と範囲一覧表の「項目の並びが不規則」でも結果を求めることができます。
【COLUMN関数】
指定したセルの列番号を返し、省略すると関数を入力したセルの列番号を返します。
ナンバリングの際に使用すると、列の削除があっても自動的に連番を作ることができます。
引数は、=COLUMN(範囲)
列番号をCOLUMN関数で指定した数式は次の通りです。
ここでは、COLUMN関数から「2」を減算することで範囲一覧表の列番号に合わせています。
なお、COLUMN関数を列番号に使用するには、VLOOKUP関数を入力する表と範囲一覧表の「項目の並びが同じ」である必要があります。
Q.リストから条件を変えて合計を出すためDSUM(デーサム)関数の使い方を教えてください。
A.データベース関数のDSUM(デーサム)関数は、データベースの指定された列(フィールド)を検索し、検索条件を満たす行(レコード)の合計値を求める関数です。
特徴は第3引数の「検索条件」にあり、「別表」を検索条件範囲として指定する点です。「別表」のフィールド名は元のデータベースと同じものにします。以下に引数と使用事例をご紹介いたします。
引数は=DSUM(データベース, フィールド, 検索条件)
【事例1】条件を横に追加入力することでAND条件となる
※支店名《かつ》商品名の金額を合計する
【事例2】条件の追加を下の行にとり、条件範囲を設定することでOR条件となる
※岐阜支店《または》秋田支店の金額を合計する
※注意点:OR条件が必要なくなった場合、必ず範囲設定をやり直します。文字列を削除するだけでは「上の行の文字列条件、または条件を指定しない」というOR条件で認識されるためです。
【事例3】ワイルドカードで条件を指定する
※「白神」を含む商品の金額を合計する
※注意点: * (アスタリスク)の前後に「=”=」と「 ” 」を付ける。
【事例4】比較演算子で条件を指定し特定範囲を合計する
※条件のフィールド「日付」を追加し、比較演算子で「>=2月4日以降<=2月8日以前」
の金額を合計する
なお、条件のセルが空欄の場合は、全てのデータが対象になります。
Q.置換対象の文字列が異なる場合はどのような関数を使えばよいですか?
A.Excel(エクセル)のREPLACE(リプレース)関数は、特定の文字列に別の文字列を指定するのではなく、開始位置から文字数を指定するので、置換対象が異なる文字列であっても別の文字に置換することができます。置換する文字の「位置」が特定されている場合に便利な関数です。以下に3つの事例をご紹介します。
引数は=REPLACE(文字列,開始位置,文字数,置換文字列)
【事例1】1文字目を開始位置として、2文字分を置換する
※B列の左から2文字を《実践》に置換
【事例2】4文字目を開始位置として、文字数「0」または「省略」で挿入という形にする
※C列の郵便番号に《”-” (ハイフン)》を挿入しD列の表記にする。
【事例3】取り出す位置が異なる場合は、関数をネストする
※「県」の位置に着目しE列の住所から都道府県以降を取り出し、G列に住所2を作成する
※IF(イフ)関数の論理式にMID(ミッド)関数。「真」と「偽」にREPLACE(リプレース)関数を
ネストして削除という形にする
なお、住所1となる都道府県名を取り出すには、IF関数の条件にMID関数を利用し、「真」と「偽」は
LEFT(レフト)関数で左から4文字取り出すか3文字取り出すかの条件に応じた値を返します。
Q.部署名の変更などでデータ内の文字列を一部分変更する場合どのようにすればよいですか?
A.文字列を一括して変更する置換は、関数で文字列操作をすることができます。
関数のメリットは、引数を「セル参照」で指定できること、ネストすることで複数個所の文字列を置換できる点にあります。
使用頻度の高いSUBSTITUTE(サブスティチュート)関数は、指定した文字列から複数の検索文字が見つかった場合、「何番目の文字を置換対象にするか」を指定することができ、省略するとすべての文字が対象になります。
また指定した文字列が含まれていない場合は置換されずにそのまま返されます。
以下に引数と使用事例をご紹介いたします。
【事例1】置き換える文字をセル参照にする
※C列の部署名をD列の新部署に置き換える
【事例2】複数の検索文字がある場合、置換対象を指定する
※C列にある左から2つ目の《埼玉》をD列の《さいたま》に置き換える
【事例3】ネストして複数個所を置換する
※全角と半角のスペースが混在するB列からすべてのスペースを削除する
尚、大文字と小文字、半角文字と全角文字はすべて区別されます。
さらに元データを削除する場合は、関数で返されたデータをコピーし「値」形式で貼り付けを行ってから元データを削除して下さい。
Q.セル内に写真を入れたリストがありますが、並べ替えの時に写真が残ります。どのようにしたらよいですか?
A.Excel(エクセル)のリストの中には商品画像なども表示して作成することがあります。その中で並べ替えやフィルター機能を使用するには、まず画像がセル内からはみ出さないように行の高さ、幅を調節するか画像の大きさを調整して、プロパティで設定します。
オブジェクト上で右クリックするかまたは、図を選択して「Ctrl(コントロール)+1」ショートカットキーで図の書式設定ダイアログボックスを表示し「プロパティ」を選択します。
「セルに合わせて移動やサイズ変更をする」にチェックを入れることで、 セルを移動またはサイズ変更したときに、オブジェクトも移動し、サイズ変更もされますので、並べ替えやフィルターに対応できます。
「セルに合わせて移動やサイズ変更をしない」を選択したままでは、あとから列の挿入や行の高さに変更があった場合、下図のように画像にズレが生じます。
画像を各セル内に挿入する方法のひとつとして、初めにひとつの画像の高さ、幅、プロパティを設定した後、同じ画像で他のセルにコピーします。
そのあと描画ツールー書式タブの「図の変更」で写真等を入れ替えると効率よくセル内に入力することができます。
なお、並べ替えやフィルターを行う場合は、画像を選択したままでは機能が使えませんのでご注意ください。