我有帶有資料的 A 列和 B 列。
| Column A | Column B |
| -------- | -------- |
| AlexPaul.first | 152 |
| LousieB.second | 320 |
| ClaryA.thrid | 777 |
| DukeGat.last | 555 |
| HarryBot.fourth | 458 |
| JackMalt.thrid | 852 |
| DannyLouse.last | 350 |
| UbarKim.thrid | 788 |
| KyatiGott.thrid | 796 |
| ElsiyaJaous.last | 555 |
| GarryBewsh.fivth | 485 |
我想過濾包含“.last”文本的A列,然后在結果上,我想從結果中洗掉“.last”文本。
結果應該是這樣:
| Column A | Column B |
| -------- | -------- |
| DukeGat | 555 |
| DannyLouse | 350 |
| ElsiyaJaous | 555 |
我如何使用 Google 表格中的單個公式執行此操作?因為我有運行 1000 個單元格的資料,所以我嘗試使用 ArrayFormula 來組合過濾函式和替換函式。但我無法讓它作業。
在 D 列中,我添加了
=FILTER(A:B,SEARCH(".last",A:A))
然后,在 F 列中,為了從過濾結果中洗掉“.last”,我使用了以下公式。
=ARRAYFORMULA(SUBSTITUTE(D2:D,".last",""))
這是兩步程序。有一個更好的方法嗎?
我們可以在一個 ArrayFormula 下結合這個 Filter 函式和 Substitute 函式嗎?或者有沒有更好的方法來做到這一點?
請幫忙。
uj5u.com熱心網友回復:
您可以將您的公式組合為
=ARRAYFORMULA(SUBSTITUTE(FILTER(A:B,SEARCH(".last",A:A)),".last",""))

uj5u.com熱心網友回復:
我這樣做的方法是使用包裝在 REGEXREPLACE 中的 QUERY 函式,例如
ArrayFormula(REGEXREPLACE(QUERY(A1:B20, "SELECT * WHERE A LIKE '%.last'"), ".last", ""))
您的資料在 A1:B20 中的位置。由于您的示例有數字,這將導致 REGEXREPLACE 出錯,因此我們需要使用 IFERROR 和相同的 QUERY 公式覆寫錯誤,而無需 REGEXREPLACE。
IFERROR(
ArrayFormula(REGEXREPLACE(QUERY(A1:B20, "SELECT * WHERE A LIKE '%.last'"), ".last", "")),
QUERY(A1:B20, "SELECT * WHERE A LIKE '%.last'")
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/399936.html
標籤:谷歌表格
