Wednesday, 20 September 2017

【EXCEL関数】セル内の余分なスペースやセル内改行を一瞬で取り去りたい時の関数

先に、結論から言うと、
CLEAN(SUBSTITUTE(SUBSTITUTE(A1," ","")," ",""))

なぜこれが必要か?

自分だけでExcelに入力する分には全く必要がない代物である。

ただ、案件によって、他人に、それも組版作業を知らない人に、必要項目の入力をしてもらうことがママあって、このような場合、Excel上での見栄えを気にして、スペースを使ったインデントやセル内改行などをしてこられるのである。

こちらからとしたら、見栄えは組版でするので無駄になると言ってもしてこられるので、ナンとも。。。

スペースはまだしも、特にセル内改行は、ExcelからInDesignにコピペする時に非常に厄介。セル内改行のせいで、表が崩れまくるのである。事故の元である。

これを手作業で削除しても埒が明かないし、余計なものを消してしまう恐れもあるので、上記の関数を捻り出した次第。

本来なら、スペースやセル内改行以外の制御文字なども考慮に入れるべきかもしれないが、今までの傾向からしてスペースやセル内改行のみなのと、関数が今以上に煩雑になるのもなぁと思い、今回はこんな感じで落ち着いたのである。

関数の解説

CLEAN 関数
CLEAN 関数は、ASCIIコードの印刷できない先頭の32文字(10進法表記で0~31)を削除するために設計された。

Excelのセル内改行コードは、

  • Windowsでは、LF(ASCIIコードの10進法表記で10)
  • Macでは、CR(ASCIIコードの10進法表記で13)

であり、ASCIIコードの印刷できない先頭の32文字に含まれている。

故に、単純に、セル内改行を削除したいセルがA1とすると、CLEAN(A1)とすればよいだけ。
(詳細は、CLEAN 関数 - Office サポート - Office Support

SUBSTITUTE関数
SUBSTITUTE関数は、あるセル内の特定の文字列を別の文字列に置き換えるもの。
SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])
(詳細は、SUBSTITUTE 関数 - Office サポート - Office Support

今回は、スペースを削除したいのだが、スペースには、全角と半角の2種類が主に使われて混在することもよくあるので、この2つを1つの関数で一気に削除したいので、
セルA1の全角スペースを削除する場合:
SUBSTITUTE(A1," ","")
文字列にはセルA1を、検索文字列には""の間に全角スペースを、置換文字列には何も指定せず単に""を各々入力。
次に、
セルA1の半角スペースを削除する場合:
SUBSTITUTE(A1," ","")
文字列にはセルA1を、検索文字列には""の間に半角スペースを、置換文字列には何も指定せず単に""を各々入力。

全角スペースと半角スペースを一度に削除したいので、2つのSUBSTITUTE関数を合体させる。
どうするか。
どちらかの関数を、もう一つの関数のA1と差し替える。
SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")
この場合、半角スペースを削除するSUBSTITUTE(A1," ","")のA1を、全角スペースを削除するSUBSTITUTE(A1," ","")に差し替えた。

これで、全角スペースと半角スペースを一度に削除できる。


で、最後に、SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")を、CLEAN(A1)のA1と差し替えると、冒頭の関数の出来上がり。
これで、セル内の余分なスペースやセル内改行を一瞬で取り去ることができる。




Thursday, 7 September 2017

liberalの意外な意味と叙述用法で後ろにつく前置詞について


鷲田 清一、 山極 寿一 著『都市と野生の思考』(集英社インターナショナル)で、liberalの意外な用法を知った。

それまでは、
1.自由な;自由主義の
しか知らなかった。

これ以外にも、
2.寛大な、心の広い;公平な;偏見のない、柔軟性のある
3.しみなく与える、気前のいい
などがあることを今回知ったのである。。

で、上記2、3の意味では、叙述用法が可能だが、literalの後に続く前置詞で多少混乱してしまった。というのは、辞書によっては載っていたり載っていなかったりするのである。

be liberal inとbe liberal to

2.の意味では、

  • be liberal in
  • be liberal to

と、intoが、ジーニアス英和辞典の初版に載っていた。
しかし、ウィズダム英和辞典第3版では、inのみが載っていた。

では、他の辞書ではどうなのか。

書店で、各種英和辞典および英英辞典を立ち読みしてきたが書店さん申し訳ないです、両方ともほぼ載っていなかった。

で、ジーニアス英和辞典最新版(第5版)もあったので見てみたところ、

ナント、両方とも載っていなかった!

うむむ、辞書はちゃんと最新版に更新しなければイカンな、と心に思った次第(アレ、着地点が違う)

話を元に戻すと、他にもネットの英英辞典、コーパス、Google検索なども見てみたが、キチンとした感じでは見つけられなかった。
イディオム的な感じでは意識されていないのか?
この辺は不明である。。。

be liberal withとbe liberal of

3.の意味では、

  • be liberal with
  • be liberal of

と、withofが、ジーニアス英和辞典の初版に載っていた。
しかし、ウィズダム英和辞典第3版では、withのみが載っていた。

では、他の辞書ではどうなのか。

こちらも書店で、各種英和辞典および英英辞典を立ち読みしてきたが(引き続き書店さん申し訳ないです)、両方とも載っているものもあり、withのみが載っているものがあった。

で、ジーニアス英和辞典最新版(第5版)も見てみたところ、

ナント、withのみの掲載になっていた!

他にネットの英英辞典、コーパス、Google検索なども見てみたが、withのみが大半であった。

結論としては、ほぼすべての辞書に、イディオム的にbe liberal withとして掲載されている。

2017.9.8追記

リーダース英和辞典第3版と新英和大辞典第六版でも確認してきた。

2.の意味では、
リーダース英和辞典は、intoが、
新英和大辞典では、両方とも掲載なし。

3.の意味では、
リーダース英和辞典は、withのみが、
新英和大辞典では、withと、なんとinが載っていた。