我有一個包含以下標簽的 Google 表格:
Shops|| 這包含一些下拉選單!Data_ShopInventory|| 這包含列 AI 并且實際上是“資料庫”!Data_Shops|| 這包含一些基于其他選項卡的隨機生成的東西,然后從其中提取“商店”選項卡
我有以下公式:
={"Items";SORTN(FILTER('!Data_ShopInventory'!$A$2:$A, SEARCH(Shops!$C$3, '!Data_ShopInventory'!$I$2:$I)), 5, 0, ARRAYFORMULA(RANDBETWEEN(TRANSPOSE(SPLIT(REPT("1,",COUNTA(FILTER('!Data_ShopInventory'!$A$2:$A, search(Shops!$C$3, '!Data_ShopInventory'!$I$2:$I)))), ",", 0, 1)), 10000)), 1)}
它是這樣作業的:根據選項卡(單元格 C3)上選擇的下拉選單Shops,它會從!Data_ShopInventory(Col A)選項卡中隨機拉出 5 個專案。
在!Data_ShopInventory選項卡中,我有一列(城鎮大小),其中包含如下文本:
- 大
- 中等的
- 中、大
- 小,中
- 小的
- 小號中號大號
我需要讓回傳隨機專案的 vlookup 也考慮到這一點。
在Shops選項卡上,還有另一個下拉選單(單元格 C4),其中包含“小”、“中”或“大”選項。
因此,如果我選擇“大”,我希望 vlookup 僅回傳 C3 匹配的隨機專案(就像它當前在上面的公式中所做的那樣),并且 Col G 中的相應單元格包含 C4 下拉串列中的選擇。
試了一堆,我就是想不通……現在是凌晨 1 點 30 分,我累了。有誰能幫忙嗎?
這是作業表的鏈接:

更新:
={"Items";SORTN(FILTER('!Data_ShopInventory'!$A$2:$A, SEARCH(Shops!$C$3, '!Data_ShopInventory'!$I$2:$I),REGEXMATCH('!Data_ShopInventory'!G2:G, Shops!C4)), 30, 0, ARRAYFORMULA(RANDBETWEEN(TRANSPOSE(SPLIT(REPT("1,",COUNTA(FILTER('!Data_ShopInventory'!$A$2:$A, search(Shops!$C$3, '!Data_ShopInventory'!$I$2:$I),REGEXMATCH('!Data_ShopInventory'!G2:G, Shops!C4)))), ",", 0, 1)), 10000)), 1)}
uj5u.com熱心網友回復:
如果我選擇“大”,我希望 vlookup 只回傳 C3 匹配的隨機專案(就像它當前在上面的公式中所做的那樣),并且 Col G 中的相應單元格包含 C4 下拉串列中的選擇。
因此,如果我的理解正確,您想從 match 和 matches 中回傳五個隨機!Data_ShopInventory專案。如果這就是你所追求的,這個公式就可以了。ShopTypeShops!C3TownSizeAvailableShops!C4
={"Items";SortN(Query('!Data_ShopInventory'!A2:I,"select A where I='"&Shops!C3&"' and G like '%"&Shops!C4&"%'",0),5,,RandArray(SumProduct(('!Data_ShopInventory'!I2:I=Shops!C3)*RegexMatch('!Data_ShopInventory'!G2:G,Shops!C4))),0)}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/411319.html
標籤:
上一篇:Pandas多索引排名和排序
