首页 > 解决方案 > 如何使用 QUERY 函数从每三列中提取数据

问题描述

我正在使用此公式,但需要将相同的公式应用于每三列。即:从 D3:D、G3:G、J3:J 等开始......从每三列应用或提取数据的最佳方法是什么。(数据在名为 Sitemap 的第二张纸上)

请提供建议和帮助,非常感谢非常感谢!

    =query({
'Sitemaps'!D3:D1000},
"Select * where Col1 is not null ")

添加工作表链接可能更有助于了解情况,“AllURLs”需要将站点地图中的所有链接拉到一个列表中 https://docs.google.com/spreadsheets/d/1AWGfA7cHmF3Q2kiX1xkQcoec6H5EPiHUXaiWENMzZkA/edit?usp=sharing

标签: google-sheets

解决方案


利用:

=QUERY({INDIRECT("Sitemaps!"&
 ADDRESS(3,    (COLUMN($D1)-1)*COLUMN(A1)+1)&":"&
 ADDRESS(1000, (COLUMN($D1)-1)*COLUMN(A1)+1))},
 "where Col1 is not null")

并向右拖动


更新:

在 B3 中使用:

=INDEX(IFERROR(REGEXEXTRACT(C3:C,"^(?:https?:\/\/)?(?:www\.)?([^\/]+)")))

在 C3 中使用:

=QUERY(FLATTEN(FILTER(IFERROR(Sitemaps!D3:1000), MOD(COLUMN(Sitemaps!D1:1)-1, 3)=0)), 
 "where Col1 is not null")

推荐阅读