VBA別館・Python別館
文字列の引き算? - 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(文字列、全角空白の位置番号)で取り出せます。
姓以外は引き算されたことになりますね。
以上のことを図にしてみました。