Excel で英数字の全角・半角を変換する

Excel には 英数字(+カタカナ)の 全角・半角を変換する ワークシート関数があります。
(Excel 2010 で確認)

全角⇒半角は「ASC」です。 プログラム言語だとアスキーコードとか返す同名の関数が あったりするので少し紛らわしいですね。

WRITE_0874_01

=ASC(文字列)

全角の英数カナ文字(2バイト)を、半角の英数カナ文字(1バイト)に
変換します。

半角⇒全角は「JIS」です。

WRITE_0874_02

=JIS(文字列)

半角の英数カナ文字(1バイト)を、全角の英数カナ文字(2バイト)に
変換します。

この 2つの関数はペアなので 変換⇒再変換で元に戻ります。

WRITE_0874_03

積ん読 2017/10/17

Bash のエラー発生時に終了するオプション

通常、Bash の処理は エラーが発生しても次のステップへと 進んで行きます。

[test1.sh]

true
echo 1=$?

false
echo 2=$?

true
echo 3=$?

false
echo 4=$?
$ bash test1.sh

1=0
2=1
3=0
4=1

エラーが発生したときに止めるには オプション "-e" を付けます。

$ bash -e test1.sh

1=0

また、パイプしている場合 最後のコマンドの結果が返ります。

[test2.sh]

true | true
echo 1=$?

true | false | true
echo 2=$?

false | true
echo 3=$?

true | false
echo 4=$?
$ bash test2.sh

1=0
2=0
3=0
4=1

これにオプション "-e" を付けて実行しても

$ bash -e test1.sh

1=0
2=0
3=0

最後のコマンドで発生しているエラーしか 反応してくれません。

このようなときは さらに オプション "-o pipefail" を指定します。

$ bash -e -o pipefail test1.sh

1=0

これでパイプ中のエラーが返るようになります。

Bash の未定義の変数をチェックするオプション

Bash には プログラム言語のように 未定義の変数をチェックできる オプション "-u" があります。

このオプションを指定していると 未定義の変数が出てきたところで エラーにしてくれます。

試してみます。

[test.sb]

A=a
C=c
echo A=$A
echo B=$B
echo C=$C

まずは普通に実行。

$ bash test.sh

A=a
B=
C=c

$ echo $?

0

変数 B だけ定義されていないので値が空です。

次にオプションを付けて実行。

$ bash -u test.sh

A=a
test.sh: line 4: B: unbound variable

$ echo $?

1

途中でエラーになりました。 安全ですね。

他のオプション同様 set コマンドなどでも指定できます。

Bash の実行内容のトレースのオプション

Bash には 処理の実行内容をトレースできる デバッグに便利な オプション "-x" と "-v" があります。

文法チェックの "-n" と同じ様に 色々な方法で指定できます。

$ bash -xv test.sh
#!/bin/bash -xv
set -xv

ちなみに、オプション "-x" は実行された内容を出力し オプション "-v" は実行するなコマンドを出力します。

次のシェルスクリプトで試してみます。

[test.sh]

YESTERDAY=$(date --date "1 day ago")
echo $YESTERDAY

まず普通に実行。

$ bash test.sh

Sun Oct 1 21:55:13 JST 2017

まず オプション "-x" だけを指定。

$ bash -x test.sh

++ date --date '1 day ago'
+ YESTERDAY='Sun Oct  1 21:55:23 JST 2017'
+ echo Sun Oct 1 21:55:23 JST 2017
Sun Oct 1 21:55:23 JST 2017

追加で出力された行の先頭に "+" や "++" が付いてます。

"++" は "$()" で実行された部分ですね。

変数が値に転換されています。

次に オプション "-v" だけを指定。

$ bash -v test.sh

YESTERDAY=$(date --date "1 day ago")
date --date "1 day ago"
echo $YESTERDAY
Sun Oct 1 21:55:28 JST 2017

こちらは "+" などは付かず、変数もそのままですね。

"$()" の実行が切りだされています。

さらに オプション "-x" "-v" を両方指定。

$ bash -xv test.sh

YESTERDAY=$(date --date "1 day ago")
date --date "1 day ago"
++ date --date '1 day ago'
+ YESTERDAY='Sun Oct  1 21:55:44 JST 2017'
echo $YESTERDAY
+ echo Sun Oct 1 21:55:44 JST 2017
Sun Oct 1 21:55:44 JST 2017

実行するコマンド、実行内容が全て出力されました。

また オプション "-x" "-v" の指定を取り消すには オプション "+x" "+v" を指定します。

$ set -x

$ YESTERDAY=$(date --date "1 day ago")

++ date --date '1 day ago'
+ YESTERDAY='Sun Oct  1 22:06:42 JST 2017'

$ echo $YESTERDAY

+ echo Sun Oct 1 22:06:42 JST 2017
Sun Oct 1 22:06:42 JST 2017

$ set +x

+ set +x

$ YESTERDAY=$(date --date "1 day ago")
$ echo $YESTERDAY

Sun Oct 1 22:06:57 JST 2017

$ set -v
$ YESTERDAY=$(date --date "1 day ago")

YESTERDAY=$(date --date "1 day ago")
date --date "1 day ago"

$ echo $YESTERDAY

echo $YESTERDAY
Sun Oct 1 22:07:09 JST 2017

$ set +v

set +v

$ YESTERDAY=$(date --date "1 day ago")
$ echo $YESTERDAY

Sun Oct 1 22:07:20 JST 2017

文法チェックのオプション "-n" と "-v" を組み合わせると 実行せずに、実行内容だけを確認することができます。

$ bash -nv test.sh

YESTERDAY=$(date --date "1 day ago")
echo $YESTERDAY

Bash の 文法チェックのオプション

Bash には 処理を実行せずに 文法のチェックだけをしてくれるオプション "-n" があります。

[test.sh]

if [ -z test.txt ]; then
    echo "OK"
endif
$ bash -n test.sh

test.sh: line 4: syntax error: unexpected end of file

このオプションを付けることで コマンドを実行せずに 文法だけをチェックしてくれます。
(逆にコマンドの実行などはチェックできません)

この手の Bash のオプションの指定方法は いくつかあります。

@bash コマンドの引き数に指定する。

$ bash -n test.sh

Aスクリプトの先頭に記載する。

#!/bin/bash -n

Bset コマンドで指定する。

set -n

スクリプトの起動だけを確認したいときなど 色々と応用できます。

Excel の翻訳機能

セルをクリックしたら 偶然表示されて 驚いたのですが Excel には 2007 から翻訳機能があるそうです。

[参考]
【TIPS】Excelの翻訳機能を辞書代わりに使う方法 | Excelを制する者は人生を制す 〜No Excel No Life〜

例えば 次のように 英単語の入った セルを [Alt] を 押しながら マウスでクリックします。

WRITE_0xx2_01

「リサーチ」パネルに 翻訳結果が表示されます。

WRITE_0xx2_02

日本語から英語もできます。

WRITE_0xx2_03

「校閲」タブの「翻訳」から表示させることもできます。

WRITE_0xx2_04

翻訳機能の精度は よくわかりませんが こんな機能まであるとは すごいですね。

Word で印刷されない文字を追加する

Word には「隠し文字」という文字飾りがあります。
(Word 2010 で確認)

以下のように「フォント」のダイアログでチェックするか [Ctrl]+[Shift]+[H]のショートカットから設定することができます。

WRITE_0866_01

たとえば、次のように文字を選択して・・・。

WRITE_0866_02

文字飾り「隠し文字」を設定すると、選択した文字が隠れます。

WRITE_0866_03

「こんにちは」が表示されなくなってます。

隠れている文字を表示するには、 「段落」にある「編集記号の表示/非表示」を使います。

WRITE_0866_04

隠れていた文字が下線付きで表示されます。

WRITE_0866_05

ただし、これは文書全体の編集記号などを表示するため、 特定の隠し文字を表示させるわけではありません。

文書内に「隠し文字」があるかどうかを調べる方法もあります。

「情報」にある「共有情報」を見ます。

WRITE_0866_06

通常は「隠し文字」については何も表示されませんが・・・。

文書内に「隠し文字」があるばあい、次のように表示されます。

WRITE_0866_07

「隠し文字」はデフォルトで印刷しない設定ですが、 印刷オプションを設定することで 印刷することもできます。

WRITE_0866_08

隠し文字の使い道ですが 普通のコメントであれば、 そもそも Word には コメント機能もあります。

ですので、次のように 漢字の読みなどに指定して 印刷物を使い分けたいときに 利用するのが良いのではないかと思います。

WRITE_0866_09

Google サイト内検索

Amazonアソシエイト