• Home
  • WINDOWS
  • OFFICE
  • EXCEL
  • WORD
  • POWERPOINT
  • OUTLOOK
  • TEAMS
  • AZURE
What's Hot

企業IT サテライトオフィス、ファイルをアップしてChatGPTに相談できるソリューション 7時間前

2023年9月20日

パソコン Microsoft、2023年9月の月例更新 – 59件の脆弱性への対応が行われる 2023/09/14 12:03 レポート

2023年9月15日

企業IT Microsoft Word脆弱性の積極的な悪用を確認、CISAが警告 2023/09/14 07:17

2023年9月15日
Facebook Twitter Instagram
Facebook Twitter Instagram Vimeo
PC MEDIA
Subscribe Login
  • Home
  • WINDOWS
  • OFFICE
  • EXCEL
  • WORD
  • POWERPOINT
  • OUTLOOK
  • TEAMS
  • AZURE
PC MEDIA
ホーム » パソコン 窓辺の小石 第72回 Strings Theory 2022/07/29 18:55 連載
EXCEL

パソコン 窓辺の小石 第72回 Strings Theory 2022/07/29 18:55 連載

TanakaBy Tanaka2022年8月1日コメントはまだありません1 Min Read
Facebook Twitter Pinterest LinkedIn Tumblr WhatsApp VKontakte Email
Share
Facebook Twitter LinkedIn Pinterest Email
Google Ads
Ad 4
Ad 3

    Strings Theory

計算機(コンピュータ)を使うとき「文字列」(Strings)は、重要な要素だ。計算というと数値を考えてしまうが、文字列を処理できるようになって、計算機の用途は大きく広がった。そもそも、計算機の高級言語は、文字列で記述されたプログラムをソースコードとする。コンパイラであれ、インタプリタであれ、文字列で記述されたプログラムを実行するわけだ。

こうしたコンピュータ言語では、さまざまな文字列処理ができる。しかし、文字列処理は、アプリケーションでも行える。Excelのような表計算アプリケーションでは、数式で簡単な文字列処理が可能だ。プログラムを組まなくても、昔のBASIC言語程度の文字列処理ができる。

文字列の処理でよく利用されるパターンとして、「特定の文字列を含むかどうか?」というものがある。Excelには、文字列に特定の文字列が含まれているかどうかを調べる関数としてFINDとSEARCH関数があるのだが、見つからなかったときにエラーになるため、ちょっと扱いづらい。IF関数の中で使うなら、


=IF(ISERR(FIND("X",A1)),"No","Yes")

などとしてエラーかどうかを調べて、結果を判定する必要がある。ISERR関数がないと結果がエラーになってしまう。同様の目的にはIFERROR関数やISERROR関数も使えるが、IFERROR関数は表記が少し冗長になる(エラー時の値を指定する必要があり省略できない)、ISERROR関数は、対象が見つからなかった場合のN/Aエラーもエラーにならない。検査対象がセルならばいいのだが、LOOKUP系の関数などで対象が見つからなかった場合にエラーにならないため、間違いを見つけにくい。

文字列処理の場合、SEARCH/FIND関数を使うが、両者はワイルドカードの可、不可と大文字小文字の区別が異なる。ワイルドカードを使ったパターンならSEARCH関数を使うが、大文字小文字の区別がないという問題がある。FIND関数は、ワイルドカード文字は使えないが、大文字小文字を区別する。このとき、同一視させたければ、対象をUPPER関数で大文字化してしまえば、同一視させることができる。このため、FIND関数のほうが扱いやすい(それに関数名が短い)。

しかし、どちらも検索文字列を1つしか指定できないのでIF関数を使う場合には、複数の文字列を探すと数式が長くなってしまう。これはちょっと面倒だ。少し数式を短くする方法としてSUBSTITUTE関数を使う方法がある。この関数は対象から指定文字列を探し、置換する関数だ。

この関数を使うと、対象文字列をヌル文字列に置換することができ、対象文字列を消すことができる。このため、指定文字列「以外」の部分を取り出すことが可能だ。この結果を元の対象文字列と比較すると、文字列が消されたかどうかがわかる。また、対象文字列以外がわかるのなら、対象文字列だけを残すこともできる(写真01)。この関係を理解すれば、Excelの数式による文字列処理の記述が少しラクになる。SUBSTITUTE関数のいいところは、数式が複雑になってしまうIF関数を使う必要がなく、対象文字列が見つからなくてもエラーにならないところだ。Excel 2021やMicrosoft 365版Excelでは「スピル」と呼ばれる自動繰り返し機能が使える。詳しくは、Excelヘルプ「配列数式のガイドラインと例」を参照してほしい。

    写真01: 複数キーワードの抽出にIF関数とSUBSTITUTE関数を使う例。キーボードショートカットから修飾キー(alt/ctrl/shift/winキー)を取り出すもの。FIND関数を使ってキーワードごとにIF関数で結果を判定したものを文字列連結演算子“&”で結合していく。これに対してSUBSTITUTE関数では、キーワードをすべて消した結果を使って、対象外の文字列を得て、これを消すことでキーワード部分を抽出している。処理内容に依存するがエラー処理が不要なためIF関数よりも記述が短くて済む場合がある

こうやって、文字列からパターンを取り出すことができれば、対象データをこれで分類分けすることが可能になる。このとき、Excelでは、ソート順をユーザーが指定できるので、結果を好きな順番で並び返ることもできる。それには、「データ」リボンの「並べ替え」のダイアログで「順序」のドロップダウンリストボックスで「ユーザー定義」を選択し、順番を定義すればよい。

今回のタイトルの元ネタは「弦理論」、あるいは「ひも理論」などと呼ばれる「String Theory」である。陽子や中性子、中間子など「ハドロン」と総称される粒子は、「点」ではなく空間的に広がりを持つ「振動」であるとしたのがString Theoryだが、1970年台に否定された。しかし1990年台に超対称性を取り込んで「超弦理論」(Super String Theory)として復活した。といっても全面的に認められたわけではなく、現実の観測を説明できておらず検証も困難なため、従来の立場からは「間違ってさえいない(Not Even Wrong)」(邦訳ストリング理論は科学か:原題物理学と数学。青土社)と言われることがある。

Google Ads
Ad 1
Strings Theory パソコン 窓辺の小石 第72回 連載
Share. Facebook Twitter Pinterest LinkedIn Tumblr WhatsApp Email
Previous ArticleChromeブラウザを使わずにChromeデータをインポートできる?
Next Article 企業IT IIJ、Microsoft 365に関する問い合わせに直接対応するサービス開始 2022/07/25 17:41
Tanaka
  • Website

Related Posts

パソコン Microsoft、2023年9月の月例更新 – 59件の脆弱性への対応が行われる 2023/09/14 12:03 レポート

2023年9月15日

企業IT Microsoft Teamsで変わる教育現場 第9回 課題を作成する 14時間前 連載

2023年9月13日

企業IT 定時で上がろう! Excel関数の底力 第43回 改行区切りの文字列結合で「横長の表」をA4サイズに収める 10時間前 連載

2023年9月11日

パソコン ワードパッドは終息へ – 阿久津良和のWindows Weekly Report 5時間前 レポート

2023年9月10日

Leave A Reply Cancel Reply

人気記事

企業IT サテライトオフィス、ファイルをアップしてChatGPTに相談できるソリューション 7時間前

2023年9月20日

パソコン Microsoft、2023年9月の月例更新 – 59件の脆弱性への対応が行われる 2023/09/14 12:03 レポート

2023年9月15日

企業IT Microsoft Word脆弱性の積極的な悪用を確認、CISAが警告 2023/09/14 07:17

2023年9月15日

企業IT Microsoft Teamsで変わる教育現場 第9回 課題を作成する 14時間前 連載

2023年9月13日

企業IT 定時で上がろう! Excel関数の底力 第43回 改行区切りの文字列結合で「横長の表」をA4サイズに収める 10時間前 連載

2023年9月11日

パソコン ワードパッドは終息へ – 阿久津良和のWindows Weekly Report 5時間前 レポート

2023年9月10日

パソコン Microsoft、Windowsの「ワードパッド」廃止を決定 – ネット「お疲れ様でした」「さよなら!」 2時間前

2023年9月5日

企業IT 定時で上がろう! Excel関数の底力 第42回 文字列データの分割・抽出で活用できる関数のおさらい 10時間前 連載

2023年9月4日

パソコン EUでMicrosoft Teamsのバンドル提供を終了 – 阿久津良和のWindows Weekly Report 1時間前 レポート

2023年9月3日

企業IT Microsoft Teamsのバンドル廃止、欧州での競争懸念を払拭するための新方針 5時間前

2023年9月1日
About Us
About Us
Our Picks
Facebook Twitter Instagram Pinterest
  • Home
  • WINDOWS
  • OFFICE
  • EXCEL
  • WORD
  • POWERPOINT
  • OUTLOOK
  • TEAMS
  • AZURE
Copyright © PC-MEDIA.JP All rights reserved.

Type above and press Enter to search. Press Esc to cancel.

Sign In or Register

Welcome Back!

Login to your account below.

Lost password?