ラベル trim関数 の投稿を表示しています。 すべての投稿を表示
ラベル trim関数 の投稿を表示しています。 すべての投稿を表示

12/19/2023

Excel。セル内の余計な空白を削除して、セル内の空白は半角で整えたい【remove white space】

Excel。セル内の余計な空白を削除して、セル内の空白は半角で整えたい

<TRIM+SUBSTITUTE関数>

セル内の余計な空白を削除するには、TRIM関数という便利な関数が用意されていますが、それだけでは、対応することができません。


A2:A6のデータは、A2のように、苗字と名前の間には、半角空白が1文字分、空くようにしたいわけです。


TRIM関数は、前後の余計な空白と、文字内の連続している空白を1つだけにします。


C2には、

=TRIM(A2)

と数式を設定して、オートフィルで数式をコピーします。


どのデータも前後の空白は削除されていますし、文字内の空白にも対応しています。


ですが、よくみると、C3やC5は、半角空白にならず、全角空白になっています。


TRIM関数では、半角文字を全角文字にするまでは、やってくれません。


そこで、文字を置換することができるSUBSTITUTE関数を合わせてつかうことで、対応することができます。

=TRIM(SUBSTITUTE(A2," "," "))

A2の数式を次のように修正します。

=TRIM(SUBSTITUTE(A2," "," "))


あとは、オートフィルで数式をコピーすれば完成です。


SUBSTITUTE(A2," "," ") の説明をします。

最初の引数は、文字列。A2を選択します。

2番目の引数は、検索文字列。” “と全角空白を設定します。

3番目の引数は、置換文字列。” “と半角空白を設定します。


資料を作ろうとしても、データがガタガタだと作成することができませんので、綺麗に整えるスキルを知っておくのもいいかもしれませんね。

8/23/2023

Excelの様々な関数の読み方や引数などを紹介。今回は、TRANSPOSE関数~TRIMMEAN関数です。【dictionary】

Excelの様々な関数の読み方や引数などを紹介。今回は、TRANSPOSE関数~TRIMMEAN関数です。

<Excel関数辞典:VOL.84>

今回は、TRANSPOSE関数~TRIMMEAN関数までをご紹介しております。

Excel関数辞典

TRANSPOSE関数

読み方: トランスポーズ  

TRANSPOSE(配列)

縦横を入れ替えた表をする 



TREND関数

読み方: トレンド  

TREND(既知のy,[既知のx],[新しいx],[定数])

重回帰分析による値を予測する 



TRIM関数

読み方: トリム  

TRIM(文字列)

不要なスペースを削除する 



TRIMMEAN関数

読み方: トリムミーン  

TRIMMEAN(配列,割合)

異常値を除いて平均値を算出します

7/29/2022

Excel。セル内の余計な空白を消去して、文字の間は半角空白で揃えたい【TRIM】

Excel。セル内の余計な空白を消去して、文字の間は半角空白で揃えたい

<TRIM+SUBSTITUTE関数>

テキストファイルなどをインポートして、データを読み込んでみたら、セル内に余計な空白がアチラコチラ入っている。


その空白も、全角や半角が混じっているし、文字と文字の間は半角空白を一つだけで揃えたいといった場合、どのようにしたら、手早く、データを綺麗にすることができるのでしょうか。


サンプルの表をつくってみました。


B2には、

=TRIM(SUBSTITUTE(B1," "," "))

という数式を設定しました。


その数式をオートフィルで数式をコピーしてD2まで設定しています。


TRIM関数は、セルの前後にある空白を削除してくれます。


これで、B1のようなパターンでは、前後の空白を削除してくれます。


そして、このTRIM関数は、文字と文字の間の空白が複数ある場合は1つだけ残して削除してくれる便利機能も付いているので、B1のように、全角空白2文字の場合は、全角空白1文字にしてくれます。


なお、半角空白と全角空白の組み合わせでも、空白1文字残してくれます。


空白を削除するだけならば、TRIM関数だけでいいのですが、半角空白で揃えたいので、SUBSTITUTE関数をつかって、半角空白に揃えていきます。


SUBSTITUTE関数は、指定した文字に置換してくれる関数です。


文字と文字の間の空白は、半角空白にしたいので、全角空白を半角空白に置換するように引数を設定してあげるだけで、文字の前後の空白と、文字と文字の間の空白を半角空白にすることができました。

8/04/2015

Excel。Split。セル内の文字列分割をどうしても関数を使ってやってみたい。


Excel。セル内の文字列分割をどうしても関数を使ってやってみたい。

TRIM&MID&SUBSTITUTE&REPT&COLUMN関数


以前紹介しました、セル内の文字列を分割したいというテクニック。

個人的には、区切り位置で十分対応が出来るので区切り位置でいいとは思うのですが、
【関数を使ってできませんか?】とご質問がありまして…。

結構考え方も作り方も大変なのですが、そんな声に応えてご紹介をしていきます。

なお、今回登場する関数は…

TRIM関数
MID関数
SUBSTITUTE関数
REPT関数
COLUMN関数

と、文字操作関係の関数総動員?です。

さて、下記の表があります。

B列にある文字列を分割していくわけです。
使用例としては、
ミドルネームがあるばあいの氏名とか、
組織や配属部署で分けたい場合などが使用するケースだと思います。

そして、ポイントなのですが、区切りたいところには、半角空白が一つ入力されています。

真田 源次郎 信繁

真田と源次郎の間に、半角空白が入っています。これが重要になります。

通常ですと、LEFT関数やRIGHT関数。

そして、MID関数を使って分割していくのが多いのですが、
今回のように、半角空白から次の半角空白までの文字数が一定でないのと、
いくつ区切られるものがあるのかが、一定でなく、
バラバラな場合を考慮して関数を作っていくことになります。

C2の数式は、
=TRIM(MID(SUBSTITUTE($B2," ",REPT(" ",50)),COLUMN(A2)*50-49,50))

というのを作っていきます。
C2をクリックして、TRIM関数ダイアログボックスを表示します。

このTRIM関数は、余計な空白を削除します。
ワザと空白を付けてあるのでそれを削除する為です。

文字列には、MID関数をネストしていきます。

文字列には、今度は、SUBSTITUTE関数をネストしていきます。

SUBSTITUTE関数は、置き換えをする関数です。

文字列には、B2を入力しますが、オートフィルハンドルを使って数式をコピーしますので、
複合参照で設定しますので、$B2

検索文字列は、REPT関数をネストしていきます。

文字列は” “
繰り返し回数は 50で今回は設定します。
このREPT関数は文字を繰り返します。半角空白を50回繰り返すという処理になります。

では、SUBSTITUTE関数に戻り数式作成を続けています。

置換対象は省略しますので、さらに上のMID関数に戻ります。

開始位置は、文字列を区切りで使っている半角空白の位置のことです。

ここもオートフィルハンドルで数式をコピーすることを考慮して、
COLUMN関数を使っていきますので、COLUMN関数ダイアログボックスを表示します。

参照にはA2を入力します。MID関数ダイアログボックスに戻ります。

そして、開始位置をアレンジします。COLUMN(A2)*50-49 と*50-49というのを追加します。

最後に文字数に50と入力します。

そして、OKボタンをクリックします。オートフィルハンドルを使って数式をコピーしましょう。


コレで完成なのですが、
MID関数のCOLUMN(A2)*50-49 のところが【?】だと思われますので、
何をどうしていたのかを説明します。

C2とD2とE2には、TRIM関数を除いた数式を入れてあります。

C3とD3とE3には、LEN関数でC2 D2 E2の文字数を算出させています。

簡単説明しますと、いくつ半角空白で分岐されていて、
半角空白が何文字目に登場して、
そこから次の半角空白が何文字先なのかを、
確認することを関数を使うと煩雑になりすぎてしまいます。

そこで、半角空白を50個増やした状態にします。

その文字列から、文字+半角空白=50文字分ずつをとりあえず、ザックリ、抽出させます。
それがC2やD2。E2は残りの文字です。

そうすると、その50文字の中に、分割したい文字が含まれているハズなので、
あとは、TRIM関数を使って、空白を取り除くという処理をしている訳です。

ですので、分割したい文字列が長い場合は、
50のところを100にして、49のところを99にするといいでしょう。

この方法を使えば、文字列を分割することが出来ますが、
やっぱり区切り位置の方が楽ではないかと思いますが、
スキルアップの為に挑戦してみてはいかがでしょうか?

7/08/2015

Excel。Extra space。氏名を苗字と名前に分けてみたら、エラー続出!原因は余計な空白だった


Excel。氏名を苗字と名前に分けてみたら、エラー続出!原因は余計な空白だった

SUBSTITUTE関数・TRIM関数


なんとなくシリーズになってきました、氏名を苗字と名前に分けてみよう。
全角空白では抽出させるためのターゲットにしているのに、半角空白になっていたら、
エラーが出たので、全角空白なら、全角空白に半角空白なら、
半角空白に統一しましょうと書きましたが、やっぱりエラーが消えない。

という方がいましたので、確認してみると、今回も原因は空白でした。

下記の表があります。

このようなエラーが出ていたわけですね。

見た目は、全角空白が空いているように見えますが、
実はこれ、半角空白が2つ入っていて、
見た目全角空白が入力されているように見えたわけですね。

つまり、空白が余計だったわけです。


このような余計な空白を消去させるには、TRIM関数を使うのがいいかと思いますね。

Wordのように、編集記号の表示非表示とかあれば、見た目でわかるのですが、
Excelはわからないので、TRIM関数を使って一発変換というのがいいでしょうね。

今回は、わかりやすいようにA列を使ってTRIM関数の結果を表示していきます。

では、A3をクリックしましょう。
TRIM関数ダイアログボックスを表示しましょう。

文字列にB3を入力しましょう。
あとは、OKボタンをクリックしましょう。

見た目特に変わってないようにも見えますが、
A4とB4を見比べると、空白の数が変わっているのが確認できますね。

これで、余計な空白を取り除くことができましたので、
A列のデータをB列に値の貼り付けでコピーしてみましょう。

これで、終わりと思いきや、エラーは表示されたまま。
原因は、半角空白が2個だったのが、1個になったわけなので、
余計な空白はなくなったのですが、全角空白で苗字と名前を分けていますので、
半角空白を全角にしてあげる必要があります。

そこで、余計な空白も削除して、
半角空白を全角空白にいっぺんに処理する方法をご紹介します。
SUBSTITUTE関数とTRIM関数のネストです。

TRIM関数の結果を貼り付ける前の状態に戻して、A列も削除しておきます。
では、改めて、A3をクリックして、SUBSTITUTE関数ダイアログボックスを表示しましょう。

文字列には、TRIM(B3)
これで、余計な空白を消去することができます。
検索文字列には、” “ 半角空白ですね。
置換文字列には、” “ 全角空白ですね。
置換対象 省略してもいいですが、一文字目なので1と入力します。

あとは、OKボタンをクリックします。
数式をコピーしておきましょう。

A列の結果を、B列に値の貼り付けでコピーしてみましょう。

これで、エラーも消えましたね。
一発でやる方法もありますので、用途に合わせて使ってみてはどうでしょうか?