我可以限制查询公式中特定列的字符的长度吗?

问题描述 投票:0回答:2

我在几个Query公式中嵌套了以下Sort公式,这些公式现在可以正常使用:

=ARRAYFORMULA((SORT((SORT((SORT((QUERY('Paste Data Here'!A3:V, "where Q = 1 and V = 1",0)),12,TRUE)),7,FALSE)),6,FALSE))

[我想做的是修剪'Paste Data Here' Column H中数据的结尾,作为Array formula的一部分。如果单独完成(没有Query),则可以使用以下公式修剪Column H

=LEFT(H3,(LEN(H3)-12))

是否可以将第二个公式插入第一个公式?我正要猜测并把它扔到整个地方,似乎什么也没到。

谢谢!

EDIT:感谢@MattKing几乎一直带我到这里。我的公式将其更新为:

后就可以使用
=ARRAYFORMULA((SORT((SORT((SORT((QUERY({'Paste Data Here'!A3:G,IFERROR(LEFT('Paste Data Here'!H3:H,LEN('Paste Data Here'!H3:H)-12)),'Paste Data Here'!I3:V})),12,TRUE)),7,FALSE)),6,FALSE)))

但是,由于某种原因,当我尝试摆脱他根据以下公式建议的Sort函数时,我收到了Query completed with an empty output消息:

=ARRAYFORMULA(QUERY({'Paste Data Here'!A3:G,IFERROR(LEFT('Paste Data Here'!H3:H,LEN('Paste Data Here'!H3:H)-12)),'Paste Data Here'!I3:V}, "where Col12 = 1 and Col21 = 1 order by Col12 asc, Col7 desc, Col6 desc",0))

它与所引用的列有关吗?我真的是Query公式的新手,所以我不知道需要在此处修复的内容...

google-sheets google-sheets-formula google-sheets-query
2个回答
1
投票

绝对有一种方法:)

您还可以“内化”所有这些sort()。

=ARRAYFORMULA(QUERY({'Paste Data Here'!A3:G,IFERROR(LEFT('Paste Data Here'!H3:H,LEN('Paste Data Here'!H3:H)-12)),'Paste Data Here'!I3:V}, "where Col12 = 1 and Col21 = 1 order by Col12 asc, Col7 desc, Col6 desc",0))

0
投票

我想通了!感谢@MattKing将我带到终点线以内。这是做什么的:

=ARRAYFORMULA(QUERY({'Paste Data Here'!A3:G,IFERROR(LEFT('Paste Data Here'!H3:H,LEN('Paste Data Here'!H3:H)-12)),'Paste Data Here'!I3:V}, "where Col17 = 1 and Col22 = 1 order by Col6 desc, Col7 desc, Col12 asc",0))

[列号必须从Col12Col21更改为Col17Col22,并且我必须更改order by之后的列顺序,但是一旦完成,全部单击地方!

© www.soinside.com 2019 - 2024. All rights reserved.