使用 google 查询作为数组公式,根据另一列中的信息对一列中的值求和
Use google query as an array formula to sum values in a column based on information in another column
我有 2 个标签需要处理。第一个选项卡 market_pull
具有从 EVE Online 的 ESI 中提取信息并将信息分类到几列中的功能:
duration | is_buy_order | issued | location_id | min_volume | order_id | price | range | type_id | volume_remain | volume_total
第二个选项卡,bulk_market_data
将信息分为几列:
Citadel ID | Item Id | Item Name | Volume Ea | Qty Available | Lowest Price | Total Volume | Jita Sell | ISK Difference | % Difference
我需要有关 bulk_market_data
选项卡的帮助。我需要使用 bulk_market_data
中的 Item Id
列作为标准来与 market_pull
列进行比较,type_id
列从 price
中的相应行中提取 MIN 值列。
除了我需要使用 bulk_market_data
中的 Item Id
列作为标准与 market_pull
列 type_id
进行比较外,我需要做基本相同的事情volume_remain
列中所有对应行的总和值。
我正在使用数组公式,因为在 bulk_market_data
选项卡中大约有 10,000 行,当我在每一行的每一列中都有一个公式时,sheet 的速度会急剧下降。感谢您抽出宝贵的时间,HERE 是带有概念的示例传播sheet。
在 F4 中使用:
=ARRAYFORMULA(IFNA(VLOOKUP(C4:C, QUERY({market_pull!C4:C, market_pull!J4:K},
"select Col2,sum(Col3) where Col2 is not null and Col1 = FALSE group by Col2"), 2, 0)))
在 G4 中使用:
=ARRAYFORMULA(IF(C4:C="",,IFNA(VLOOKUP(C4:C, SORT(QUERY({market_pull!C4:J},
"select Col8,Col6 where Col1 = FALSE"), 1, 1, 2, 1), 2, 0), 0)))
在 H4 中使用:
=ARRAYFORMULA(IF(C4:C="",,ROUNDUP(IF(
E4:E1004*F4:F1004=0,,E4:E1004*F4:F1004), 1)))
我有 2 个标签需要处理。第一个选项卡 market_pull
具有从 EVE Online 的 ESI 中提取信息并将信息分类到几列中的功能:
duration | is_buy_order | issued | location_id | min_volume | order_id | price | range | type_id | volume_remain | volume_total
第二个选项卡,bulk_market_data
将信息分为几列:
Citadel ID | Item Id | Item Name | Volume Ea | Qty Available | Lowest Price | Total Volume | Jita Sell | ISK Difference | % Difference
我需要有关 bulk_market_data
选项卡的帮助。我需要使用 bulk_market_data
中的 Item Id
列作为标准来与 market_pull
列进行比较,type_id
列从 price
中的相应行中提取 MIN 值列。
除了我需要使用 bulk_market_data
中的 Item Id
列作为标准与 market_pull
列 type_id
进行比较外,我需要做基本相同的事情volume_remain
列中所有对应行的总和值。
我正在使用数组公式,因为在 bulk_market_data
选项卡中大约有 10,000 行,当我在每一行的每一列中都有一个公式时,sheet 的速度会急剧下降。感谢您抽出宝贵的时间,HERE 是带有概念的示例传播sheet。
在 F4 中使用:
=ARRAYFORMULA(IFNA(VLOOKUP(C4:C, QUERY({market_pull!C4:C, market_pull!J4:K},
"select Col2,sum(Col3) where Col2 is not null and Col1 = FALSE group by Col2"), 2, 0)))
在 G4 中使用:
=ARRAYFORMULA(IF(C4:C="",,IFNA(VLOOKUP(C4:C, SORT(QUERY({market_pull!C4:J},
"select Col8,Col6 where Col1 = FALSE"), 1, 1, 2, 1), 2, 0), 0)))
在 H4 中使用:
=ARRAYFORMULA(IF(C4:C="",,ROUNDUP(IF(
E4:E1004*F4:F1004=0,,E4:E1004*F4:F1004), 1)))