Google sheets 如何使用类似索引匹配的语句增强我的查询?

Google sheets 如何使用类似索引匹配的语句增强我的查询?,google-sheets,google-sheets-formula,array-formulas,google-sheets-query,gs-vlookup,Google Sheets,Google Sheets Formula,Array Formulas,Google Sheets Query,Gs Vlookup,上下文:通过一个API调用,我将从Airtable中获取价格表数据,并将其放入表格中。在Airtable中,表是链接的,因此我看到的是Airtable生成的主键,而不是实际的字段数据。我可以找到数据的表格可以在使用API调用创建的单独选项卡中找到。挑战:我正在尝试创建一个带有下拉字段的价目表,该字段在选择模型后生成相关数据。此查询用于: =UNIQUE(QUERY(models,"SELECT F, E, R, R*(1-0.15), R*0.15, R*1.07 WHERE J = '"&am


上下文:通过一个API调用,我将从Airtable中获取价格表数据,并将其放入表格中。在Airtable中,表是链接的,因此我看到的是Airtable生成的主键,而不是实际的字段数据。我可以找到数据的表格可以在使用API调用创建的单独选项卡中找到。

挑战:我正在尝试创建一个带有下拉字段的价目表,该字段在选择模型后生成相关数据。此查询用于:

=UNIQUE(QUERY(models,"SELECT F, E, R, R*(1-0.15), R*0.15, R*1.07 WHERE J = '"&$A$1&"' AND (F = 'rec99pY85FrcpKWmh' OR F ='reccliFdf3cbYeADx') AND F <> '' LABEL R 'Retail excl. VAT', R*(1-0.15) 'Store Price', R*0.15 'Margin', R*1.07 'Retail incl. VAT' FORMAT R '฿ ###,##0', R*(1-0.15) '฿ ###,##0', R*0.15 '฿ ###,##0', R*1.07 '฿ ###,##0' ",1))
对于尺寸和

=SUBSTITUTE(A3,A3,index(indexBodyMaterials,match(A3:A13,idMaterials,0),1))
用于材料。

问题:我如何将这些单独子解决方案的功能组合到on query中?

=ARRAYFORMULA({UNIQUE(查询)模型,
=ARRAYFORMULA({UNIQUE(QUERY(models, 
 "select F,E,R,R*(1-0.15),R*0.15,R*1.07 
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> '' 
  label  R 'Retail excl. VAT',R*(1-0.15)'Store Price',R*0.15'Margin',R*1.07'Retail incl. VAT' 
  format R '฿ ###,##0',R*(1-0.15) '฿ ###,##0',R*0.15 '฿ ###,##0',R*1.07 '฿ ###,##0'", 1)), 
 {"Sizes"; IFERROR(VLOOKUP(INDEX(UNIQUE(QUERY(models, 
 "select F,E,R,R*(1-0.15),R*0.15,R*1.07 
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> '' 
  label  R'',R*(1-0.15)'',R*0.15'',R*1.07''", 0)),,2), Sizes!A:G, 7, 0))},
 {"Materials"; IFERROR(VLOOKUP(INDEX(UNIQUE(QUERY(models, 
 "select F,E,R,R*(1-0.15),R*0.15,R*1.07 
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> '' 
  label  R'',R*(1-0.15)'',R*0.15'',R*1.07''", 0)),,1), Materials!A:B, 2, 0))}})
“选择F、E、R、R*(1-0.15)、R*0.15、R*1.07 其中J='“&$A$1&'” 和(F='rec99pY85FrcpKWmh' 或F='reccliFdf3cbYeADx') 和F“ 标签R“不含增值税的零售”,R*(1-0.15)“零售价格”,R*0.15“保证金”,R*1.07“含增值税的零售” 格式R'฿#####,###0',R*(1-0.15)฿#,###0',R*0.15'ෛ###,###0',R*1.07'ෛ###,#1,, {“大小”;IFERROR(VLOOKUP(索引)(唯一)查询(模型, “选择F、E、R、R*(1-0.15)、R*0.15、R*1.07 其中J='“&$A$1&'” 和(F='rec99pY85FrcpKWmh' 或F='reccliFdf3cbYeADx') 和F“ 标签R’、R*(1-0.15’、R*0.15’、R*1.07’、0)、2)、尺寸!A:G、7、0)}, {“材料”;IFERROR(VLOOKUP(索引)(唯一)查询(模型, “选择F、E、R、R*(1-0.15)、R*0.15、R*1.07 其中J='“&$A$1&'” 和(F='rec99pY85FrcpKWmh' 或F='reccliFdf3cbYeADx') 和F“ 标签R'、R*(1-0.15'、R*0.15'、R*1.07'、0))、1)、材质!A:B、2、0))})


=ARRAYFORMULA({{“Material”;IFERROR(VLOOKUP)索引(UNIQUE)(查询(models),
“选择F,E
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F“”,0)),1),Materials!A:B,2,0))},
{“Size”;IFERROR(VLOOKUP)索引(UNIQUE)查询(models,
“选择F,E
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F'',0),2),大小!A:G,7,0)},
唯一(查询)模型,
选择R,R*(1-0.15),R*0.15,R*1.07
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F“
标签R“不含增值税的零售”,R*(1-0.15)“零售价格”,R*0.15“保证金”,R*1.07“含增值税的零售”
格式R'฿####,###,###,###,###,###,####0,R*1.07ෛ#####,###############

=ARRAYFORMULA({UNIQUE(查询)(模型,
“选择F、E、R、R*(1-0.15)、R*0.15、R*1.07
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F“
标签R“不含增值税的零售”,R*(1-0.15)“零售价格”,R*0.15“保证金”,R*1.07“含增值税的零售”
格式R'฿#####,###0',R*(1-0.15)฿#,###0',R*0.15'ෛ###,###0',R*1.07'ෛ###,#1,,
{“大小”;IFERROR(VLOOKUP(索引)(唯一)查询(模型,
“选择F、E、R、R*(1-0.15)、R*0.15、R*1.07
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F“
标签R’、R*(1-0.15’、R*0.15’、R*1.07’、0)、2)、尺寸!A:G、7、0)},
{“材料”;IFERROR(VLOOKUP(索引)(唯一)查询(模型,
“选择F、E、R、R*(1-0.15)、R*0.15、R*1.07
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F“
标签R'、R*(1-0.15'、R*0.15'、R*1.07'、0))、1)、材质!A:B、2、0))})


=ARRAYFORMULA({{“Material”;IFERROR(VLOOKUP)索引(UNIQUE)(查询(models),
“选择F,E
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F“”,0)),1),Materials!A:B,2,0))},
{“Size”;IFERROR(VLOOKUP)索引(UNIQUE)查询(models,
“选择F,E
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F'',0),2),大小!A:G,7,0)},
唯一(查询)模型,
选择R,R*(1-0.15),R*0.15,R*1.07
其中J='“&$A$1&'”
和(F='rec99pY85FrcpKWmh'
或F='reccliFdf3cbYeADx')
和F“
标签R“不含增值税的零售”,R*(1-0.15)“零售价格”,R*0.15“保证金”,R*1.07“含增值税的零售”
格式R'฿####,###,###,###,###,###,####0,R*1.07ෛ#####,###############

谢谢你,玩家0!我正在消化你的解决办法。你能对我的观察作些评论吗?1.您已使用{[]、[]、[]}将列放在一起。2.使用Vlookup,您将返回在第一列或第二列中分别从相应材质或尺寸范围中搜索的值。如果这是正确的,我想我可以很容易地在表前面交换{size}和{Materials},并在第一个查询中删除F,E。最后一部分是正确的。但是移动{size}和{Materials}部分似乎打破了这个公式。我想知道为什么?我只是想更好地理解解决方案。谢谢。是的,你基本上是对的,数组是
{(fx1),{“header1”;(fx2)},{“header2”;(fx3)}
,所以如果你想交换它,它将是:
{“header2”;(fx3)},{“header1”;(fx2)},(fx1)
,当然,这使世界变得不同。我完全忽略了分号。非常感谢,这大大提高了我处理一些数据的能力。祝你有美好的一天!谢谢你,玩家!我正在消化你的解决办法。你能对我的观察作些评论吗?1.您已使用{[]、[]、[]}将列放在一起。2.使用Vlookup,您将返回在第一列或第二列中分别从相应材质或尺寸范围中搜索的值。如果这是正确的,我想我可以很容易地在表前面交换{size}和{Materials},并在第一个查询中删除F,E。最后一部分是正确的。但是移动{size}和{Materials}部分似乎打破了这个公式。我想知道为什么?我只是想更好地理解解决方案。谢谢。是的,你基本上是对的数组是
{(fx1),{“heade”
=ARRAYFORMULA({UNIQUE(QUERY(models, 
 "select F,E,R,R*(1-0.15),R*0.15,R*1.07 
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> '' 
  label  R 'Retail excl. VAT',R*(1-0.15)'Store Price',R*0.15'Margin',R*1.07'Retail incl. VAT' 
  format R '฿ ###,##0',R*(1-0.15) '฿ ###,##0',R*0.15 '฿ ###,##0',R*1.07 '฿ ###,##0'", 1)), 
 {"Sizes"; IFERROR(VLOOKUP(INDEX(UNIQUE(QUERY(models, 
 "select F,E,R,R*(1-0.15),R*0.15,R*1.07 
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> '' 
  label  R'',R*(1-0.15)'',R*0.15'',R*1.07''", 0)),,2), Sizes!A:G, 7, 0))},
 {"Materials"; IFERROR(VLOOKUP(INDEX(UNIQUE(QUERY(models, 
 "select F,E,R,R*(1-0.15),R*0.15,R*1.07 
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> '' 
  label  R'',R*(1-0.15)'',R*0.15'',R*1.07''", 0)),,1), Materials!A:B, 2, 0))}})
=ARRAYFORMULA({{"Material"; IFERROR(VLOOKUP(INDEX(UNIQUE(QUERY(models, 
 "select F,E 
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> ''", 0)),,1), Materials!A:B, 2, 0))},
{"Size"; IFERROR(VLOOKUP(INDEX(UNIQUE(QUERY(models, 
 "select F,E
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> ''", 0)),,2), Sizes!A:G, 7, 0))},
UNIQUE(QUERY(models, 
 "select R,R*(1-0.15),R*0.15,R*1.07 
  where  J = '"&$A$1&"' 
    and (F = 'rec99pY85FrcpKWmh' 
     or  F = 'reccliFdf3cbYeADx') 
    and  F <> '' 
  label  R 'Retail excl. VAT',R*(1-0.15)'Store Price',R*0.15'Margin',R*1.07'Retail incl. VAT' 
  format R '฿ ###,##0',R*(1-0.15) '฿ ###,##0',R*0.15 '฿ ###,##0',R*1.07 '฿ ###,##0'", 1))})