Importxmlを使用して、Webサイトからデータを取得しています。これまでのところ、この部分はうまく機能しています。ただし、これらのセルのテキストを、WebサイトにアップロードできるHTMLテキストの1つのセルに結合する必要があります。スクリーンショットを添付しましたが、フォーミュラ/コーディングは絶対に間違っています!しかし、それは理想的なものです。これのためのより良い式/コードを作成するにはどうすればよいですか?私はこれでまだ新しいです!
開始するには、HTMLタグ内の各引用符を2倍にして、キャンセルせずに適切に表示するようにします。
class="p1"
はclass=""p1""
になります
次に、p1要素のリストについては、連結の代わりにregexreplaceを使用してデータをタグで囲むことができます(私の意見では少しきれいです)
したがって、単一セル内のすべての正規表現は(.*)
になります。これにより、後で$1
で参照できるキャプチャグループが作成されます
私自身のサンプルデータを使用してデモンストレーションを行います。 単一行の場合、これは次のようになります。
=REGEXREPLACE(A1,"(^.*$)","<p class=""p1"">$1</p>"))
うまく印刷されます:
最終的にjoinを使用する場合、すべてをコピーする必要はありません。最初にarrayformulaを使用して、この式でp1要素をスタックできます。
=arrayformula(if(istext(A2:A),REGEXREPLACE(A2:A,"(^.*$)","<p class=""p1"">$1</p>"),))
次に、すべてを1つのセルにグループ化します。
=join(char(10),filter(B:B,istext(B:B)))
Googleスプレッドシートの数式では、テキストを引用符で囲む必要があります。テキストに引用符が含まれる場合は、内側の引用符を二重にする必要があります。例
内部引用符のないテキスト
式:="<p>Hello world!</p>"
表示される結果:<p>Hello world!</p>
内部引用符付きのテキスト
式:="<h1 class=""p1"">Hello world!</h1>"
表示される結果:<h1 class="p1">Hello world!</h1>
スカラー参照を使用
A1値:Hello world!
シンプルなタグ
B1式:="<p>"&A1&"</p>"
B1表示値:<p>Hello world!</p>
属性付きタグ
B2式:="<h1 class=""p1"">"&A1&"</h1>"
B2の表示結果:<h1 class="p1">Hello world!</h1>
範囲参照を使用
入力
| A
----+---------------------
2 | Hello Mexico
3 | Hello USA
4 | Hello Canada
式
C1数式:=ArrayFormula("<p>"&A2:A4&"</p>")
結果
C1:C3表示値:
| C
----+---------------------
1 | <p>Hello Mexico</p>
2 | <p>Hello USA</p>
3 | <p>Hello Canada</p>