web-dev-qa-db-ja.com

Googleスプレッドシートの複雑な機能にSUBSTITUTE機能を組み込む方法

次の機能があり、1つの例外を除いて完全に機能します。返される値の一部には、削除したい文字が含まれています。

=ARRAYFORMULA(IFERROR(REGEXEXTRACT("|"&REGEXREPLACE(F2:F,"\n","|"),"^"&REPT("\|[^|]*",COLUMN(OFFSET(C1,,,1,5))-1)&"\|([^|]*)")))

F2の文字列は次のとおりです。OER - World History - Day 1 | 9/1/2016 | @ 8:00:00 AM | Location is 000-DO | in Jamacha Conference Room | ID#100008

上記の関数は現在@ 8:00:00 AMを返します

上記の関数が8:00:00 AMを返すようにしたい

上記の関数でSUBSTITUTE関数を使用しようとしましたが、適切に使用する「場所」または「方法」がわかりません。単純な文字列で使用すると、完全に機能します。

=SUBSTITUTE(?????, "@ ", "")

どんな助けも大歓迎です。

1
Mr. B

簡潔な答え

=ARRAYFORMULA(
  SUBSTITUTE(
    IFERROR(
     REGEXEXTRACT(
      "|"&REGEXREPLACE(F2:F,"\n","|"),
      "^"&REPT("\|[^|]*",
      COLUMN(OFFSET(C1,,,1,5))-1)&"\|([^|]*)")
    ),
  "@","")
)

説明

ARRAYFORMULA関数の引数は、SUBSTITUTEの最初の引数として含まれ、これはARRAYFORMULAの引数として含まれていました。

注:読みやすくするために、ブレークラインとインデントが含まれています。 Googleスプレッドシートはこれを処理できますが、引数または関数が変更されたときにのみブレークラインとインデントを保持します。

1
Rubén