web-dev-qa-db-ja.com

クエリ/インポートデータを使用してセルデータをフィルタリングする

その上にあるセルの追加データを使用してセルが正しいことを確認して、セルからデータを取得しようとしています。これがデータです。各行が数式によってセルに入力されます。

<total_count>6</total_count>
<games>
<message>
<appid>376210</appid>
<name>The Isle</name>
<playtime_2weeks>4300</playtime_2weeks>
<playtime_forever>23973</playtime_forever>
</message>
<message>
<appid>4000</appid>
<name>Garry&apos;s Mod</name> --------using this
<playtime_2weeks>289</playtime_2weeks> ------to get this!
<playtime_forever>277810</playtime_forever>
</message>
<message>
<appid>578080</appid>
<name>PLAYERUNKNOWN&apos;S BATTLEGROUNDS</name>
<playtime_2weeks>59</playtime_2weeks>
<playtime_forever>8585</playtime_forever>
<img_icon_url>93d896e7d7a42ae35c1d77239430e1d90bc82cae</img_icon_url>
<img_logo_url>2d2732a33511b58c69aff6b098a22687a3bb8533</img_logo_url>
</message>
<message>

私が現在使用している式は

=QUERY(IMPORTDATA(A1)," select Col1,Col2 where Col2 = '2weeks' and Col2 matches 'Garry'")

それは<name>Garry&apos;s Mod</name>を出力し、「2週間」だけを選択することはできません。これは数回繰り返されるため、さまざまなゲームのためです。

また、レイアウトは随時変更される場合があります。アイルは現在一番上にありますが、リストの真ん中または一番下にいつでも変更される可能性があります。私がこれにもっと時間を費やした場合、私は目標を達成するために別々の数式を使用することができると知っていますが、私は結合数式の使用方法を学習しようとしています。煩雑さが少なく、オプションが多く、見や​​すくなっています。

何か案は?

1
Nate.M-C
=REGEXEXTRACT(QUERY({{A1:A25; ""}, {""; A1:A25}}, 
 "select Col1 where Col2 contains 'Garry'", 0), 
 ">(.*)<")

0

0
user0
=REGEXEXTRACT(INDIRECT("A"&FILTER(ROW(A:A), SEARCH("*Garry*", A:A))+1), ">(.*)<")

0

0
user0
=REGEXEXTRACT(REGEXEXTRACT(QUERY(A:A, , 999^99), 
 "Garry(.*)"), "2weeks>(\d+.\d+|\d+)")

0

0
user0