※当サイトの記事には、広告・プロモーションが含まれます。

Excel関数で文字列を分割して、ファイルとファイルまでのパスの2つに分けたい

gigazine.net

The Telegraphは「小説家は受賞作の一部を書くためにChatGPTを使用したことを認める」と報道。さらに、九段さんが受賞記者会見で説明した「小説の約5%が生成AIが出力した文章のままであること」を強調しています 。

生成AIを利用して書かれた第170回芥川賞受賞の九段理江「東京都同情塔」が海外でも話題に - GIGAZINE

⇧ 約5%って、AIで実現した部分を正確に数値化できてる方が驚きですな。

Excel関数で文字列を分割して、ファイルとファイルまでのパスの2つに分けたい

Windows環境で、

website-note.net

⇧ 上記サイト様を参考に、ファイル一覧の情報を取得したは良いものの、ファイルのパスを、

  • ファイルが配置されているディレクトリまでのパス
  • ファイル名

の2つに分割したいと思い、Excelの関数でできないもんかと調べていて、

www.relief.jp

news.mynavi.jp

www.officeisyours.com

⇧ 上記サイト様の情報で実現できそう。

悲報...

note.com

⇧ 上記サイト様にありますように、TEXTSPLITは、Microsoft Excelでしか利用できないらしい...

■[対象のセル]の文字列を後ろから探して一番初めにマッチした[区切り文字]で分割し、前の要素を取得する

=LEFT([対象のセル], FIND("[対象のセルに含まれない文字]", SUBSTITUTE([対象のセル], "[区切り文字]", "[対象のセルに含まれない文字]", LEN([対象のセル]) - LEN(SUBSTITUTE([対象のセル], "[区切り文字]", ""))))-1)

■[対象のセル]の文字列を[区切り文字]で分割し、一番最後の要素を取得する

=CHOOSECOLS(TEXTSPLIT([対象のセル],"[区切り文字]"),-1)

Microsoft Excelであれば、上記で実現できると。

ちなみに、

qiita.com

⇧ forfilesコマンドというものでも、ファイル一覧の情報を取得できる模様。

forfiles /s /c "cmd /c echo @path @fsize @fdate @ftime" > file-list.txt

⇧ 上記だと、カレントディレクトリ配下のディレクトリのサブディレクトリを含んで配置されてるファイルの情報を一覧で出力してくれる模様。

コマンドのマニュアルを見ると、

    /C    コマンド      各ファイルの実行するコマンドを示します。
                        コマンドの文字列は二重引用符で囲んでくだ
                        さい。

                        既定のコマンドは "cmd /c echo @file" です。

                        次の変数をコマンドの文字列に使用することができ
                        ます:
                        @file    - フィルの名前を返します。
                        @fname   - 拡張子なしのファイル名を
                                   返します。
                        @ext     - ファイルの拡張子だけを返し
                                   ます。
                        @path    - ファイルの完全なパスを返します。
                        @relpath - ファイルの相対パスを返し
                                   ます。
                        @isdir   - ファイルの種類がディレクトリの場合
                                   は "TRUE"を、ファイルの場合は
                                   "FALSE" を返します。
                        @fsize   - ファイルのサイズをバイトで返し
                                   ます。
                        @fdate   - ファイルの最終更新日を返し
                                   ます。
                        @ftime   - ファイルの最終更新時刻を返し
                                   ます。

⇧ とあるので、取得したい情報の変数を追加していけば良さそうではある。

Excel関数は、実現したい方法を見つけるのが辛いですな...

とりあえず、GoogleスプレッドシートLibreOffice calcで、Excel関数の対応状況が分かり辛いのも、しんどいですな...

毎度モヤモヤ感が半端ない...

今回はこのへんで。