
HTML タグを含むセルを検索して文字列を返そうとしています。たとえば、セルの内容は次のようになります。
受賞企業/個人:<div class='col-sm-5''><div c 企業/Indass='row col-sm-12'>テレコムエジプト (372679)
(B7) スマートビレッジ、カイロ-アレクサンドリア砂漠道路28km、ギザ、エジプト<b ry: エジプト、アラブ共和国
契約価格
29,299,140.000エジプトポンド
<d実質的所有者の詳細
「署名済み契約価格」の後の EGP 29,299,140 の値のみを返したいと思います。
オンラインで見つけた「MID」式をいくつか変更しようとしましたが、うまくいきませんでした。ご協力に感謝します。
答え1
HTML セルが列 A にある場合、署名済み契約価格と「<dBeneficial Ownership Details」の間のテキストを抽出するには、列 B で以下を使用します。
=SUBSTITUTE(MID($A1,FIND("Signed Contract price",$A1,1)+LEN("Signed Contract price")+1,LEN($A1)),"<dBeneficial Ownership Details","")
そこから通貨コードを抽出するには、列 C で以下を使用します。
=LEFT(B1,3)
金額自体を抽出するには、列 D で次のようにします。
=NUMBERVALUE(SUBSTITUTE(RIGHT(B1,LEN(B1)-4)," ",""))
編集: セルのテキストは投稿に貼り付けたときに再フォーマットされたと思われるので、次のようにコード ブロックで囲む方がよいでしょう。
class='spacing'></div><div class='spacing'></div><div class='row col-sm-12'><div class='col-sm-5''><div c Firm/Indass='row col-sm-12'><b>TELECOMEGYPT (372679)</b><br/>(B7) Smart Village, 28th km Cairo-Alexandria desert road,Giza, Egypt<b ry: Egypt, Arab Republic of<br/></br></div></div><div class='col-sm-5'></div><div class='col-sm-7'>Signed Contractprice<br/>EGP 29, 299,140.000</div><br/></div><d<b>Beneficial Ownership Details</b></div><br/></div>
この場合、最初の式は次のようになります。
=LEFT(MID($A1,FIND("Signed Contractprice<br/>",$A1,1)+LEN("Signed Contractprice<br/>"),LEN($A1)),FIND("</div>",MID($A1,FIND("Signed Contractprice<br/>",$A1,1)+LEN("Signed Contractprice<br/>"),LEN($A1)),1)-1)