0

Excel 2010 にインポートした CSV ファイルがあります。1 つのセルに必要なテキストの一部が含まれていますが、長さとセル内の位置が異なります。すべてのレコードのセルにデータがあるわけではありません。各テキストはセミコロン (;) で区切られていますが、同じセル内にあります。そう:

  • B2 = text_I_want
  • B3 = ブランク
  • B4 = text_I_don't_want; text_I_want_that_has_a_different_length ; more_text_I_don't_want
  • B5 = text_I_don't_want; text_I_don't_want; text_I_don't_want; text_I_want_now ;

同じ行の列 M には、必要なテキスト全体が含まれている必要がありますが、必要なものだけが含まれている必要があります。そう:

  • M2 = text_I_want
  • M3 = ブランク
  • M4 = text_I_want_that_has_a_different_length
  • M5 = text_I_want_now

10,000 を超えるレコードがあり、助けていただければ幸いです。

編集:私は自分自身を明確に説明しませんでした。列 B には、さまざまなハイパーリンクを含むテキストの文字列が含まれています。各セルには、ハイパーリンクが 0 個、1 個、2 個、3 個、4 個などがあります。各ハイパーリンクはセミコロンで区切られています。amazon.ca や amazon.co.uk などのハイパーリンクではなく、amazon.com のハイパーリンクのみが必要です。これがより明確な例であり、別のフィールドで必要なものを太字にしたものであることを願っています. -B2 = amazon.com/12345 -B3 =amazon.ca/search?keywords=ウィリアム+シャトナー -B4 =amazon.ca/12AB; amazon.com/AB1 ; loc.gov/fubar -B5 = amazon.com/978037346; amazon.de/search?VX123 編集 #2 - テキストを列に変換できるので、この質問はどうですか: 行 com 列 AG を検索して amazon.com を含むセルを探し、そのセルの内容を列 M にコピーする方法?

4

2 に答える 2

-1

最初の編集に基づいてamazon.com/B1(柔軟性のために)次に:

=IF(AND(IFERROR(FIND(";",B2,IFERROR(FIND($B$1,B2),"")),"")="",IFERROR(FIND($B$1,B2),"")<>""),B2,IFERROR(MID(B2,IFERROR(FIND($B$1,B2),""),IFERROR(FIND(";",B2,IFERROR(FIND($B$1,B2),"")),"")-IFERROR(FIND($B$1,B2),"")),""))  

(必要に応じてコピーしてください)が機能するはずです。

SO17689216 の例

于 2013-07-20T02:05:46.550 に答える