リンクユニット

Windows8 & Office2013 Access2013

氏名を姓と名のフィールドに分ける

投稿日:2017年1月7日 更新日:

Accessでしっかりテーブル設計をしていればいいのですが、なかなかそうはいかず、後からいろいろ注文を受けることになります。

テーブルには、[氏名]フィールドがあって[姓]と[名]が[全角スペース]で分けられています。
これをExcelで出力した時に姓と名を別々のセルに表示して出力できないかとのことでした。

Excelへ出力してExcelで姓と名に分ける

テーブルをそのままExcelに出力して、Excelで姓と名に分ける方法で対処しました。

氏名の列を姓と名の列に分割

Excel2013で氏名セルを姓と名の別々のセルに分ける操作をしていたら、Excel2013のポップヒントに思わずほっこりしました。 下のよ ...

続きを見る

フラッシュフィル(文字列の結合や抜き出しをワンクリックで)

Excel2013の新機能です。文字列などの編集を自動で行ってくれる機能です。これまで、関数や区切り位置ウィザード使って文字列を結合したり、 ...

続きを見る

ですが、Accessのクエリでも関数を使ってできますね。

テーブルの確認

下のようなテーブルがあります。[姓]と[名]の間は、半角もしくは全角のスペースです。
サンプルのため、わざと[半角スペース]、[全角スペース]としています。
テーブル

クエリの作成

クエリを作成して、フィールドに下のように入力します。

姓: Left([氏名],InStr([氏名]," ")-1)

名: Mid([氏名],InStr([氏名]," ")+1)

InStr関数とは、ある文字列の中から指定された文字列を検索して、最初に見つかった文字位置(文字数)を返す関数です。
Left関数は、文字列の左端から指定した文字数分の文字列を返します。空白スペースは不要なので-1ですね。
Mid関数は、文字列の開始位置から指定した文字数分の文字列を返します。
文字数を省略した場合は、開始位置以降全てを取り出します。開始位置より1つ右からなので+1ですね。
クエリ

クエリの実行

実行すると、姓フィード、名フィールドに分けられています。
クエリの実行

やっぱり、ボタン1つで目的のExcelファイルが出力できたほうが便利ですね。
InStr関数は便利な関数ですが、Excelのワークシート関数にはありません。

関連Excelのワークシートで氏名の列を姓と名に分割するには、区切り位置ウィザードを使用すると便利です。
氏名の列を姓と名の列に分割で解説しています。

氏名の列を姓と名の列に分割

Excel2013で氏名セルを姓と名の別々のセルに分ける操作をしていたら、Excel2013のポップヒントに思わずほっこりしました。 下のよ ...

続きを見る

Excel2013以降のバージョンでは、フラッシュフィルという機能を利用して分割することもできます。

フラッシュフィル(文字列の結合や抜き出しをワンクリックで)

Excel2013の新機能です。文字列などの編集を自動で行ってくれる機能です。これまで、関数や区切り位置ウィザード使って文字列を結合したり、 ...

続きを見る

上記記事内の氏名を姓と名に分割で解説しています。

参考Officeのバージョンによって操作が異なる場合があります。以下の記事で、お使いのOfficeのバージョンを確認する方法を解説しています。

Office(Word、Excel、PowerPointなど)のバージョンを確認する方法

Microsoft Officeも時を得て、大きく様変わりしてきました。トラブルを解決しようとするとき、あるいは、何かの操作を探すときなど、 ...

続きを見る

管理人一押しのテキストです。

おすすめ記事と広告

記事を更新しました

POWERPIVOTの元データの確認

Excel2010からのアドインであるPowerPivotは、便利なのであれこれ活用していますが、時々 このピボットテーブルの元データはどこ ...

氏名の列を姓と名の列に分割

Excel2013で氏名セルを姓と名の別々のセルに分ける操作をしていたら、Excel2013のポップヒントに思わずほっこりしました。 下のよ ...

右端と左端に文字を配置するには

Wordの文書を開くと、一行目にたくさんの空白スペースを見ることがあります。 もちろん[ホーム]タブの[編集記号の表示/非表示]ボタンをオン ...

データラベルの図形の変更

Excel2013では、グラフのデータラベルの形を変更することができます。Excel2013の新機能です。 下の表を元にグラフを作成します。 ...

ページレイアウトタブに「右から左へ書き進む文書」コマンド

Excel2013の[ページレイアウト]タブの[シートのオプション]グループには[シート(右から左)]というコマンドボタンがあります。 ポッ ...

-Windows8 & Office2013 Access2013

Copyright © 2001-2018 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2018 AllRights Reserved Powered by AFFINGER4.