エクセルVBA

エクセル:文字列の操作

エクセルのちょっとしたテクニックを紹介します。

郵便番号を入力するときに、数字を入力したら、自動的に「〒」マークが付くと入力が楽になりますよね。書式設定であらかじめ設定しておきましょう。


(1)郵便番号を表示させたいセルを選択する。
(2)右クリック⇒書式設定から、[表示形式]タブの[分類]で[ユーザー定義]をクリック。
(3)[種類]に次のように入力する。
  [<=999]"〒"000;[<=99999]"〒"000-00;"〒"000-0000
(4)[OK]ボタンをおす。
(5)数字を入力するだけで、郵便番号の表示になります。


文字列で入力する方法もあります。その場合は、上記の(3)で "〒"@ と入力します。この場合は、ハイフンも含めて、入力することになります。


エクセルのちょっとしたテクニックを紹介します。


文字列を結合させる場合、普通に文字列同士をつなげるのならば問題ないのですが、例えば日付データと文字列を連結しようとすると日付の部分がきちんと表示されません。
CONCATENATE関数も&演算子も、書式を無視した値そのものを連結するからです。
きちんと表示させるには以下の方法でできますよ。


(1)結果を表示したいセルを選択します。
(2)選択したセルに
="文字列" & TEXT(日付の入力されているセル,"yyyy年m月d日")
または、
=CONCATENATE("文字列",TEXT(日付の入力されているセル,"yyyy年m月d日"))と入力します。

例)A1セルにはいっている「2007年4月1日」といった日付と「有効期限:」という文字列を結合させる場合、

="有効期限:" & TEXT(A1,"yyyy年m月d日")
または
=CONCATENATE("有効期限:",TEXT(A1,"yyyy年m月d日"))と入力します。


※上記のような例としては、日付データの他に、時間データ、カンマ区切りの数字などがあります。表示したい書式がわからなければ、セルの書式設定の表示形式を参考にしてください。


エクセルのちょっとしたテクニックを紹介します。

文字列を置き換える場合、REPLACE関数の他にSUBSTITUTE関数があります。SUBSTITUTE関数は指定した文字列を別の文字列に変換します。

(1)結果を表示するセルを選択する。
(2)選択したセルに=SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象の位置)と入力します。

例)セルA1に「エクセル2007」と入力されていたものをセルB1で「ワード2007」と表示させる場合、

セルB1に=SUBSTITUTE(A1,"エクセル","ワード",1)と入力します。


※文字列に検索文字列で指定した文字列が含まれていない場合は置換えされずにそのまま返されます。また、検索文字列で指定した文字列が複数含まれている場合は、置換対象の位置で何番目の文字列を置き換えるか指定する事ができます。省略した場合は1番目とみなされます。


エクセルのちょっとしたテクニックを紹介します。

文字列を複数のセルに分ける場合、区切り位置を指定してわける方法があります。
以下の手順は、セル内の空白で区切る場合です。


(1)文字列を分けたいセルを選択します。
(2)メニューバーの[データ]から[区切り位置]をクリックします。
(3)「区切り位置指定ウィザード−1/3」ダイアログボックスが表示されます。


(4)「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」をチェックします。
(5)「次へ」をクリックすると、「区切り位置指定ウィザード−2/3」ダイアログボックスが表示されます。
(6)区切り文字の「スペース」をチェックします。


(7)「データのプレビュー」で、正しく区切られていることを確認し、「次へ」をクリックします。
(8)「区切り位置指定ウィザード−3/3」ダイアログボックスが表示されるので、「完了」をクリックします。
(9)文字列を置き換えるかどうかのメッセージが出るので、「OK」をクリックします。


※上記(6)で、「スペース」以外にを選択すると、「カンマ」や「セミコロン」でも分けることができます。また、右隣のセルは分割後の文字列に置き換えられるので、空けて置いてください。


エクセルのちょっとしたテクニックを紹介します。

文字列を繰り返すには、REPT関数を使います。REPT関数は指定した回数分、繰り返した文字列を表示します。


(1)結果を表示するセルを選択する。
(2)選択したセルに=REPT(文字列,繰り返し回数)と入力します。
例)セルA1に「エクセル」と入力されていたものをセルB1で「エクセルエクセル」と表示させる場合、

セルB1に=REPT(A1,2)と入力します。


※繰り返し回数に0を指定すると空白文字列が返されます。また、繰り返し回数に負の数を指定するとエラー値#VALUE!が返されます。


エクセルのちょっとしたテクニックを紹介します。

文字列を置き換える場合はREPLACE関数を使います。REPLACE関数は開始位置を指定し、その位置から指定した文字数分を別の文字列に置き換えます


(1)結果を表示するセルを選択する。
(2)選択したセルに=REPLACE(文字列,変換する文字列の開始位置,変換する文字数,置換文字列)と入力します。
例)セルA1に「1個」と入力されていたものをセルB1で「100個」と表示させる場合、
セルB1に=REPLACE(A1,1,1,100)と入力します。


※開始位置に1より小さい数字を指定した場合、エラー値#VALUE!が返されます。文字数は省略可能です。省略した場合は置換えは行われず、指定した開始位置の直前に置換文字列が付加され、文字列が返されます。


エクセルのちょっとしたテクニックを紹介します。

関数を使用していて、書式を設定する文字列を入力することがあると思いますが、通常よく使っている書式なんだけど、書式を設定する文字列がわからないということがありませんか?
エクセルにデフォルトで用意されている設定なら、確認できますよ。


(1)空欄のセルを選択する
(2)右クリックから[書式設定]をクリックします。
(3)表示形式の[分類]から調べたい書式を選択し、さらに[種類]から該当する書式を選択します。


(4)その後、OKボタンを押さずに、[ユーザー定義]をクリックします。
(5)そうすると[種類]のすぐ下のテキストボックスに該当する書式の設定文字列が表示されます。
(6)キャンセルボタンを押します。


※上記(4)でOKを押してしまうと、セルの書式が設定されるので、注意してください。


エクセルのちょっとしたテクニックを紹介します。

CONCATENATE関数は複数の文字列を結合させる関数で、結合した文字列を一つのセルに出力することが出来ます。文字列(引数)には文字列や数値、又は文字列を含むセル参照を指定します。

(1)結果を表示したいセルを選択します。
(2)選択したセルに =CONCATENATE(文字列1,文字列2)と入力します。

例)A1とA2のセルの文字列を結合し、A3に表示する場合、
セルA3に =CONCATENATE(A1,A2)と入力します。


&演算子を使用してもCONCATENATE関数と同じ結果が返されるので、CONCATENATE関数を使用して文字列を結合させる代わりに、セルA3に =A1&A2のように&演算子を使用して文字列を結合させる事もできます。


エクセルのちょっとしたテクニックを紹介します。

関数を利用し曜日を表示させる方法もありますが、もっと簡単に書式設定のユーザー定義を利用して曜日を表示させることができます。


(1)曜日を表示したいセルを選択する。
(2)右クリックでショートカットメニューを開き、[書式設定]をクリック。
(3)表示形式のタブのユーザー定義をクリックし、[種類]のテキストボックスにaaaと入力
(4)セルに曜日が表示されます。

※あらかじめ、曜日を表示させるセルは、日付を入力してあるセルを参照しておいてください。上記(3)でaaaaと入力すると日曜日などのように「〜曜日」が表示されます。また、この方法で曜日を表示させる場合、検索にはヒットしませんので、注意してください。


[Delete]キーを押すと、カーソルの後ろにある文字列が一文字ずつ削除されますが、削除したい文字列が多い場合は、[Delete]キーを何度も押したり、範囲指定してから[Delete]キーを押す必要があり、手間が掛かります。そこで、カーソルの後ろにある文字列を一気に削除するショートカットキーを紹介します。


(1)削除したい文字列の前にカーソルを置きます。

(2)[Ctrl]+[Delete]を押すと、カーソルの後ろにあった文字列が一気に削除されます。


エクセルショートカットキー
セルに長文を入力した際、セルに収まりきらない文字がセルから溢れ出てしまうことがあります。この解決策として考え付くのは、セルの書式設定の文字の制御機能を使い、セル内で文字列を折り返して全体を表示させることですが、この機能では、文字列の折り返し位置が微妙にずれるため、各行の右端が凸凹になってしまうことがあります。凸凹にならず見栄えよく文字列を折り返すには、文字の配置の設定を変更します。


(1)セルを選択し、右クリックします。
(2)表示されたショートカットメニューから[セルの書式設定]を選択し、[セルの書式設定]ダイアログを表示します。
(3)[配置]タブで[文字の配置]欄にある[横位置]の[▼]ボタンをクリックし、[両端揃え]を選択します。
(4)[OK]ボタンをクリックし、[セルの書式設定]ダイアログを閉じると、選択していたセルの文字列がセルの右端に揃えて折り返されます。


[両端揃え]が設定されているセルでセル内改行を行い、次の行にデータを入力しなかったりスペースのみを入力したりすると、セル内改行を行った行の文字列が両端に広がってしまいます(Excel2000は除く)。


エクセルの書籍
規則の異なる入力規則が複数設定されているワークシートで、特定の入力規則が設定されているセルのみ検索したい場合は、ジャンプ機能の選択オプションを利用します。規則に関係なく、入力規則が設定されているセルをすべて検索する場合と違い、あらかじめ検索したい入力規則が設定されているセルを選択しておく必要があります


(1)検索したい入力規則が設定されているセルを選択します。
(2)[編集(E)]メニューから[ジャンプ...]を選択します。
(3)表示された[ジャンプ]ダイアログの[セル選択...]ボタンをクリックします。


(4)表示された[選択オプション]ダイアログの[データの入力規則]チェックボックスをオンにしたあと、[同じ入力規則]チェックボックスをオンにします。
(5)[OK]ボタンをクリックし、[選択オプション]ダイアログを閉じます。


(6)(1)で選択したセルに設定されている入力規則と、同じ入力規則が設定されているセルがすべて選択されます。


入力規則が設定されていないセルが選択された状態で操作すると、「該当するセルが見つかりません。」というメッセージが表示されます。


エクセル書籍
エクセルで作成した住所録等で、1件ごとふりがなを入力してませんか?
名前・住所等にふりがなを振りたいときに、簡単にふりがなを振るPHONETIC関数という便利な関数があります。


(1)データを表示したいセルを選択。
(2)選択したセルに数式 =PHONETIC(範囲)と入力。
例)B1のセルに文字列があった場合、=PHONETIC(B1)と入力します。
(3)対応するふりがなが表示されます。


ふりがなは一般的なふりがなが表示されるため、すべてが正しいふりがな表示とは限りません。PHONETIC関数を使うことで1件ごとに入力しなくても良くなりますが、ふりがなが正しいかどうかの確認は必ずしてくださいね。


エクセル関数
他の表計算アプリケーションで作成されたデータを取り込むと、数字が文字列として入力されてしまうことがあります。文字列として認識されたデータは計算の対象から外れてしまうため、計算の対象としたい場合は、数値に変換して使用します。


(1)変換後の数値を返すセルを選択します。
(2)選択したセルに、数式=VALUE(文字列)を入力します。
(例)セルA1に入力されている数字を数値に変換する場合
   =VALUE(A1)と入力します。
(3)指定した文字列が数値に変換されて表示されます。


文字列には、エクセルが認識できる数値、日付、時刻を指定します。それ以外の値を指定すると、エラー値(#VALUE!)が返されます。


エクセルの書籍

セルにデータの入力規則を設定しても、ワークシート上のセルには何も表示されないため、通常の状態ではどのセルにデータの入力規則が設定されているかわかりません。データの入力規則が設定されているセルを検索したい場合は、ジャンプ機能を使って、データの入力規則が設定されているセルを選択すると便利です。


(1)[編集]メニューから[ジャンプ...]を選択します。
(2)表示された[ジャンプ]ダイアログの[セル選択...]ボタンをクリックします。
(3)表示された[選択オプション]ダイアログの[データの入力規則]チェックボックスをオンにして、[OK]ボタンをクリックします
(4)データの入力規則が設定されているセルが選択されます。


特定のデータの入力規則が設定されているセルを検索する場合は、特定のデータの入力規則が設定されているセルをあらかじめ選択しておき、(3)の[選択オプション]ダイアログを表示したあと、[データの入力規則]チェックボックスと[同じ入力規則]チェックボックスをオンにして[OK]ボタンをクリックします。

エクセル書籍
ユーザー定義書式を利用し、値を入力して文字列を表示させることができます。指定できる条件は2つまでで、条件を[]、文字列を""で囲んで指定します。


(1)書式を設定するセル範囲を選択します。
(2)[書式]メニューから[セル...]を選択し、[セルの書式設定]ダイアログを表示します。
(3)[表示形式]タブを選択し、[分類]から[ユーザー定義]を選択します。
(4)[種類(T)]のボックス内に設定する条件を入力します。
(例)「1」と入力すると「可」、「2」と入力すると「不可」と表示されるように設定する場合、
  [=1]"可";[=2]"不可" と入力します。
(5)[OK]ボタンをクリックし、[セルの書式設定]ダイアログを閉じます。
(6)書式を設定したセルに指定した数値を入力すると、条件に合った文字列が表示されます。


指定できる条件は2つまでですが、どちらでもない場合の文字列も指定することができます。その場合、最後にその文字列を指定します。
(例)「1」と入力すると「可」、「2」と入力すると「不可」、それ以外の数値を入力すると「未定」と表示されるように設定する場合、
  [=1]"可";[=2]"不可";"未定"と入力します。


エクセルの書籍
他のアプリケーションから読み込んだテキストに不要なスペースが含まれて、同じデータなのに違うものとエクセルで認識されてしまい、集計などが上手くいかないことってありますよね。
そういった場合にTRIM関数を使うと不要なスペースを消すことができます。


(1)データを表示したいセルを選択。
(2)選択したセルに数式 =TRIM(データの入ったセル番地)と入力。
 例)B1のセルに変換したい文字列がある場合、=TRIM(B1)と入力します。
(3)不要なスペースが消えます。


※文字列に複数のスペースが連続して含まれている場合、単語間のスペースを 1 つずつ残して、不要なスペースをすべて削除します。TRIM関数では全角も半角も同じ1文字として認識されます。


エクセルの書籍

excelをExcel、OFFICEをOfficeにするなど、アルファベットの先頭文字を大文字にし、2文字目以降の英字を小文字に変換したい場合は、文字列操作関数のPROPER関数を使うと簡単です。

(1)変換後の文字列を表示するセルを選択。

(2)選択したセルに、数式 =PROPER(文字列)を入力します。

(例)セルC1に変換したい文字列が入力されている場合、
=PROPER(C1)と入力します。

(3)数式を入力したセルに、変換後の文字列が表示されます。

文字列中の英字以外の文字は変換されません。また、文字列に英字が含まれていない場合は、文字列がそのまま返されます。
エクセルで数式やURLを入力すると自動的に計算結果やハイパーリンクになってしまいます。便利な機能ですが、時と場合によっては、不都合なことがあります。数式やURLを文字列として入力したいと思ったことはないですか?それは以下の方法で出来ますよ。


(1)数式やURLの入ったセルを選択します。
(2)数式やURLの前にアポストロフィー(')を入力します。
 例)=B1+B2という数式の場合、'=B1+B2


エクセルに文字列として認識させるこの方法は、数値や数式を文字列として保存することでエラーインジケータが出ます。非表示にしたい場合は、エラーインジケータをクリックし、[エラーを無視する]を選択してください。
エクセル
〜ちょっとしたテクニック〜
Add to Google My Yahoo!に追加 ブックマークに追加する
Author

エステリア

エクセルの基本から小技までちょっとしたテクニックを随時提供中

ご案内
●役に立ったと思った方は●

人気blogランキング

1日1回のクリックでこのブログが育ちます。応援よろしくお願いします。
----------------------------------------------
●運営ポリシー●

エクセルのいろんな機能を随時紹介していきます。
トラバ、コメント大歓迎です。内容を確認の上、掲載します。アダルトサイトからのトラバ、コメントはご遠慮下さい。
楽天市場