我試過了concatenate
函數,但它並沒有真正有用。excel查詢追加上面的行到單元格
我試圖完成,所以這裏是截圖/圖片
基本上,我需要能夠爲分數輸入數據,然後讓細胞自動填充基於用戶和他們的得分數據與相應的瓷磚,我的混淆是如何做到這一點,如果/多個用戶,如果他們在同一個瓷磚上。
我試過了concatenate
函數,但它並沒有真正有用。excel查詢追加上面的行到單元格
我試圖完成,所以這裏是截圖/圖片
基本上,我需要能夠爲分數輸入數據,然後讓細胞自動填充基於用戶和他們的得分數據與相應的瓷磚,我的混淆是如何做到這一點,如果/多個用戶,如果他們在同一個瓷磚上。
好的......我不知道你是否有一個Tile 1的機制,知道它是Tile 1等,但我做的是將數字放到同一個單元格中的另一個表單上。即在工作表單元格B18
有1
。這樣,我們可以只引用單元格,而不是公式中的任何硬編碼值...
我還決定,如果有與分數沒有名字,那麼我們就只想瓷磚的名稱(例如Tile 1
)
所以這給可寫入B18
並抄送範圍B18:F31
公式的第一部分:
=IF(Tiles!B18="","",IF(ISERROR(MATCH(Tiles!B18,$B$7:$H$7,0)),"Tile "&Tiles!B18,...))
這是什麼做的是:
MATCH
,看看是否能得分是通過任何用戶持有放""
IF(ISERROR(...))
將僅返回瓷磚名字...
是其中兩個選項有...OPTION 1 - 過長...公式
更換...
:
MID(IF($B$7=Tiles!B18,", "&$B$2,"")&IF($C$7=Tiles!B18,", "&$C$2,"")&IF($D$7=Tiles!B18,", "&$D$2,"")&IF($E$7=Tiles!B18,", "&$E$2,""),3,9999)
...並複製&IF($E$7=Tiles!B18,", "&$E$2,"")
,每個區有必要列的22名球員。
因此,該單位是「如果玩家的分數與瓦片數量相同,給我」,名稱「否則空白」,我們將其與&
運營商加入。
這包裹在MID(...,3,9999)
中,所以我們在我們找到的第一個名字的開始處刪除「,」(加入的IF
陳述會給出例如「,Aaron,無限用戶」)。
此選項是有點痛苦寫(讀!),但它只有做一次和公式可以複製和粘貼...
選擇2 - VBA函數和數組公式
Public Function JOIN(rng As Variant, Optional separator = ", ") As String
JOIN = ""
Dim v As String
For Each c In rng
If IsObject(c) Then
v = c.Text
Else
v = c
End If
If v <> "" Then
If JOIN = "" Then
JOIN = v
Else
JOIN = JOIN & separator & v
End If
End If
Next c
End Function
該函數將連接單元格的值範圍或字符串數組。用(使用Ctrl鍵在Excel中輸入 + 移 + 輸入)數組公式使用它意味着我們可以做一個有條件的加入...
所以...
變爲:
JOIN(IF($B$7:$H$7=Tiles!B18,$B$2:$H$2,""))
對於本,將根據圖塊編號檢查分數範圍$B$7:$H$7
中的每個值。如果不匹配,則返回「」,否則返回相應的名稱(範圍爲$B$2:$H$2
)。這將給我們一系列的空白和JOIN
將加入的名稱...
此選項意味着啓用宏的工作簿,並使用「更復雜」的數組公式。但數組公式很好,我建議大家和他們一起玩;-)。 cpearson有一個很好的介紹:http://www.cpearson.com/excel/arrayformulas.aspx
玩得開心!
嗨,哪個單元格應該自動填充? –
偉大的問題!這些圖塊與總計行相對應。瓦片需要填寫名稱。 – aaron1312
有多少用戶,以及它將如何變化? Excel加入字符串真的很糟糕:-)一種選擇是使用長條件連接(包括所有用戶的分數)。另一個選擇是幫助功能 - 這意味着一點VBA – Captain