質問: あるソフトを使ってエクセルに映画の字幕を抜き出したら下記のようなデータになったのですが、データとして欲しいのは会話の部分だけです。この例で言うと「 ,, 」より下の「I wish I could,but I don't want to.」の部分のみ自動的に抽出したいのですが、何かいい関数や方法はあるでしょうか?エクセルでの方法を教えてください。よろしくお願いします。 Dialogue: Marked=0,0:09:37.32,0:09:39.22,Style1,Comment,0000,0000,0000,,I wish I couId, but I don't want to.
回答: 挙げてもらった例だけでは判断しかねるのですが、 抜き出したい部分までの文字数または、「,」の数が固定と想像されますので、その場合について答えます。 文字数が固定であれば、MID関数を使ってください。次の感じです。 ``` MID(セル,対象「,」までの文字数, LEN(セル)-対象「,」までの文字数) ``` 「,」の数が固定であれば、FINDやSEARCHを複数回使うことでできます。美しくないですが、次のような感じです。抜き出す文字列長を計算するので、抜き出すべき文字列のインデックスを書き出しておくといいかもですね。 ``` インデックスのセル = FIND(",", セル, 1 + FIND(",", セル, ・・・)); 抜き出した文字列 = MID(セル, インデックスのセル, LEN(セル)- インデックスのセル) ``` あと一番シンプルにかけるのは、VBマクロを使ってしまうことではないでしょうか?