VBA別館・Python別館

64495

文字列の引き算? - Tak

2018/06/11 (Mon) 12:40:11

数字の足し算は当たり前として、文字列も足し算が出来ますよ、シート上で。

A列 B列 C列   D列        数式
----------------------------------------------
 1  国分 陽向 国分陽向   =B2 & " " & C2

こんな風に12人の姓と名が別々にシートに入力されています。 これを姓と名を一つのセルに入れたいときに使えます。

=B2 & " " & C2 と文字列と文字列の間に & を入れればお終いです。 姓と名の間にスペースを入れたいときは、 ・・・& ”” &・・・としてください。 単にスペースを入れただけでは無視されます。

A列からB列の引き算は出来ませんが、B列の文字数を数えてその文字数だけA列から消せば引き算みたいになりますね。 次回に続く。

文字列の引き算? - Tak

2018/06/12 (Tue) 07:58:14

② 文字列の引き算

文字列の引き算と言うより、特定文字の取り出しと言うべきでしょうね。

例えばセルB2に会員氏名が入っているとします。
その文字列から、苗字だけを取り出したいというような場合に使います。


氏名から姓だけ抜きだすには 空白の前を抜き出すleft()関数が使えます。 

まず図のように、氏名欄の文字列から半角スペースを全角スペースに変換します。

半角でもよいのですが、どちらかに統一すれば変換関数が使えます。

半角を全角に変換する関数: JIS()
全角を半角に変換する関数: ASC()
のどちらかを使います。今回はJIS()を使います。

これで氏名は、姓+全角空白+名 となりました。

次回でこれから姓だけを抜き出します。 

Re: 文字列の引き算? - Tak

2018/06/12 (Tue) 19:43:03

③ 氏名文字列から姓だけ抜き出す

図のようにメンバー氏名”国分 洋行"、の半角スペースを =JIS(B2)で全角スペースに置き換えます。 同様すべての氏名のスペースを全角にします。

その後で、全角スペースの位置(文字列の何番目か)を調べてそれより前の部分を取り出します。=find(文字列、" ")で全角空白が前から何番目にあるか分かります。

これで氏名から姓の部分のみを取り出せます。 
=LEFT(文字列、全角空白の位置番号)で取り出せます。


姓以外は引き算されたことになりますね。

以上のことを図にしてみました。


名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.