オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【サクラエディタ】改行コードを確認する方法・改行コードを置換する方法

サクラエディタ改行コードを確認する方法改行コードを置換する方法改行コードを指定してファイルを保存する方法を紹介します。


【目次】

各OSで使われている改行コードと改行コードの正規表現

各OSで使われている改行コードおよび改行コードの正規表現は以下の通りです。

OS 改行コード 改行コード 正規表現
Unix Line Feed LF \n
Mac(OSX) Line Feed LF \n
Mac(OS9) Carriage Return CR \r
Windows Carriage Return+Line Feed CR+LF \r\n
※「\」は、環境によっては「¥(半角)」で表示されます。


サクラエディタでの改行コードの表示(見え方)

サクラエディタの行末尾に表示される表示は、改行コードによって異なります。
LFなら「↓」、CRなら「←」、CR+LFなら「↵」と表示されます。

改行コード サクラエディタでの表示
LF
LF
CR
CR+LF

サクラエディタの改行コードの表示


改行コードの正規表現で改行コードを確認する方法

「Ctrl」+「F」のショートカット、もしくは「検索」メニュー>「検索」もしくは「検索」アイコンから検索画面を表示します。

<検索>

検索画面の「条件」に正規表現の改行コードを入力、「正規表現」のチェックボックスにチェック、「該当行マーク」を選択します。


このファイルの最下行までスクロールして、このファイルの改行コードが「LF」であることがわかります。


サクラエディタで改行コードを置換する方法

画面上部の「検索」を選択、「置換」を選択します。
(「Ctrl」キー+「R」キーでショートカットできます)


「正規表現(E)」にチェックします。
「置換前(N)」と「置換後(P)」に改行コードを設定し、「すべて置換(A)」を選択します。
(今回は「CR+LF」から「LF」への変換なので置換前に「¥r¥n」、置換後に「¥n」を指定します)


改行コードが変更されていることがわかります。


サクラエディタで置換コードを指定して保存する方法

画面左上の「ファイル」を選択します。

「名前を付けて保存(A)」を選択します。
(そのファイルを最初に保存をする場合は「上書き保存(S)」でもOKです)

「改行コード(E)」に変換したい改行コードを指定します。
※今回は「LF(UNIX)」を指定します。

改行コード「LF」に置換されています。

【Excel】特定の文字列が含まれているかどうかを調べる方法(COUNTIF関数・SEARCH関数・FIND関数)

特定の文字列が含まれているかどうかを調べる4つの方法を紹介します。
今回は以下のようなデータ中でコメント列に特定の文字列「品質不良」が含まれるデータを調べます。
f:id:auroralights:20210328013917p:plain

目次

この記事の目的

  • 特定の文字列が含まれているデータを調べる・抽出する方法を学ぶ
  • Excelのフィルター機能でデータ抽出する方法を学ぶ
  • ExcelのCOUNTIF関数・SEARCH関数・FIND関数で特定の文字列が含まれているデータを調べる方法を学ぶ
  • 複数の方法を学ぶことでデータ分析・抽出や関数の組み合わせなど応用力を付ける

1.フィルターを使って特定の文字列が含まれているデータを抽出する方法

[データ]タブの「フィルター」を選択して、フィルターを設定します。
※「Ctrl」+「Shift」+「L」のショートカットでもフィルターを設定できます。
f:id:auroralights:20210328015227p:plain

「F1」セルの「▼」を選択し、テキストボックスに検索したい文字列「品質不良」を入力し、「OK」を選択します。
f:id:auroralights:20210328015449p:plain

文字列「品質不良」が含まれているデータを抽出することが出来ました。左下のメッセージで12件のレコード中5件のデータが見つかったことも分かります。

1-a.「品質不良」の他に「品質・・・不良・・・」のようなデータをフィルターで抽出する方法

フィルターの「テキストフィルター(F)」>「ユーザー設定フィルター(F)」を順次選択する。
オートフィルターオプションにて、コメント欄に「品質」「不良」を入力、「AND」のラジオボックスを選択、「を含む」をプルダウンからそれぞれ選び、「OK」を選択します。
f:id:auroralights:20210328020545p:plain

「品質」および「不良」の文字列を含むデータを抽出できます。
f:id:auroralights:20210328020810p:plain

2.COUNTIF関数を使って特定の文字列が含まれているデータを抽出する方法

COUNTIF関数で1行ずつ特定の文字列が含まれるかどうかを確認する方法です。

セルG2に「=IF(COUNTIF(F2,"*品質不良*")=1,"〇","")」を数式入力し、セルG2の数式をセルG13までコピーします。
文字列「品質不良」を含むデータは「〇」を返します。
文字列「品質不良」を含むデータの件数をセルG14に「=COUNTIF(G2:G13,"〇")」で表示しています。
f:id:auroralights:20210328022657p:plain

COUNTIF関数とIF関数を以下のように分解して考えると分かりやすいです。
f:id:auroralights:20210328043111p:plain

【参考情報:COUNTIF関数】

COUNTIF関数は指定された範囲に含まれるセルの内、検索条件に一致するセルの個数を返します。

書式
COUNTIF(範囲,検索条件)

2-a.「品質不良」の他に「品質・・・不良・・・」のようなデータをCOUNTIF関数で抽出する方法

セルG2に「=IF(COUNTIF(F2,"*品質*不良*")=1,"〇","")」を数式入力し、セルG2の数式をセルG13までコピーします。
「品質」と「不良」の間にワイルドカード「*」を追加することで、「品質」と「不良」を含むデータに「〇」を返します。
f:id:auroralights:20210328024306p:plain

3.SEARCH関数を使って特定の文字列が含まれているデータを抽出する方法

SEARCH関数で特定の文字列が対象セルの左から何文字目に始まるかを調べることで、対象データ有無を判断する方法です。※特定文字が無ければSEARCH関数ではエラーが返ってきます。

セルG2に「=IF(SEARCH("品質不良",F2,1)>=1,"〇","")」を入力し、セルG13まで数式をコピーする。文字列「品質不良」を含むデータには〇を返します。
f:id:auroralights:20210328030453p:plain

SEARCH関数とIF文を分解して考えると分かりやすいです。
f:id:auroralights:20210328043744p:plain

3-a.「品質不良」の他に「品質・・・不良・・・」のようなデータをSEARCH関数で抽出する方法

「=IF(SEARCH("品質*不良",F2,1)>=1,"〇","")」で「品質」と「不良」の間にワイルドカード「*」を追加し、「品質」と「不良」を含むデータに「〇」を返しています。
f:id:auroralights:20210328030627p:plain

4.FIND関数を使って特定の文字列が含まれているデータを抽出する方法

セルG2に「=IF(FIND("品質不良",F2,1)>=1,"〇","")」を入力し、セルG13まで数式をコピーする。文字列「品質不良」を含むデータには〇を返します。
※数式は「=IF(FIND("品質不良",F2,1)>=1,"〇")」でも良いです。
f:id:auroralights:20210328024910p:plain

「品質不良」を含まないデータに「#VALUE!」のエラーが返を返さないために、IFERRORを追加すると以下のようになります。
f:id:auroralights:20210328025418p:plain

※FIND関数はワイルドカードが使えません。

auroralights.jp

以上です。

【Excel】FIND関数の使い方・FIND関数、MID関数、LEN関数を組み合わせて特定の文字以降の文字を抜き出す方法

【目次】

FIND関数

「検索文字列」が「対象文字列」の左から何文字目にあるかを返す関数です。
1バイト文字(半角英数字)、2バイト文字(日本語)に関わらず、各文字が常に1としてカウントされます。
なお、FIND関数は大文字と小文字を区別します。*(アスタリスク)や?のワイルドカードは使用できません。
※FIND関数と同じように使える「SERCH関数」は大文字と小文字を区別しない。ワイルドカードは使えるといった違いがあります。

【FIND関数の書式】

=FIND(検索文字列,対象文字列,[開始位置])

f:id:auroralights:20210314181847p:plain
セルC3について
セルC3には「=FIND("県",B3)」と数式が入っています。検索文字列「県」が対象文字列「兵庫県神戸市」(セルB3の文字)の何文字目にあるかを返します。
3文字目に「県」があるので3を返しています。

セルC4、C5について
セルC4、C5には「=FIND("-",B4)」「=FIND("-",B5)」と数式が入っています。検索文字「-」「g-」が対象文字列の何文字目にあるかを返しています。
セルC4は「abcdefg-hijk」の8文字目に「-」があるので8を返しています。
セルC5は「abcdefg-hijk」の7文字目に「g-」があるので7を返しています。

FIND関数の使い方

以下の例では、B列の住所に対してC列の検索文字列が何文字目にあるかをFIND関数を使いD列で返しています。
※D列の数式をE列に表示しています。
f:id:auroralights:20210314182833p:plain

FIND関数、MID関数、LEN関数を組み合わせて特定の文字以降の文字を抜き出す方法

以下の画像ではFIND関数、MID関数、LEN関数を使って、B列の住所に対して、C列の検索文字(県・府)以降の住所を抜き出しています。

f:id:auroralights:20210314184058p:plain

※事前知識
 MID関数:MID(対象文字列,開始位置,文字数)
      対象の文字列の開始位置から指定した文字数を抜き出す関数です。
 LEN関数:LEN(文字列)
       文字列が何文字かを返す関数です。

=MID(B3,FIND(C3,B3)+1,LEN(B3)-FIND(C3,B3))
D3では上記のような数式が入力されています。

MID関数の「対象文字列」は、住所の「B3」です。
MID関数の「開始位置」は、「FIND(C3,B3)+1」として「県」が住所の何文字目にあるかを調べて、+1しています。+1しないと県も含めて県神戸市という文字を返してしまいます。+1することで県以降の「神戸市」を返すことができます。
MID関数の「文字数」は、「LEN(B3)-FIND(C3,B3)」として県の次の文字から最後の文字までの文字数を指定しています。全文字数マイナス抜き出さない文字=抜き出したい文字数となっています。

f:id:auroralights:20210314190348p:plain


文字列から文字列を抽出するケースはたくさんあります。
例えば、都道府県以降の文字の抽出や、都道府県だけ抽出、市町村を抽出、「-(ハイフン)」以降の文字を抽出などいろいろなケースなど。
今回は特定の文字以降の文字を抜き出す方法を紹介しました。


auroralights.jp