2016-05-16 118 views
0

我有一個如下的表結構:設置單元格值

--- c1 ------- c2 ---- c3 ------ c4 
r1: **0001** **word1** 
r2: 0002  word2 **0001** **word1** 
r3: 0003  word3 0002  word2 

我想三個值自動設置列,因此,如果有在列4一些字,然後程序應檢查第2列並嘗試找到相同的單詞。如果找到,則應將第1列值用作第3列值。

我可以手動做到這一點,但它更多的工作,並且如果我添加新行會產生問題。第1列值等於行號,因此如果添加新行,它會自動更新。現在我想設置我的數據,以便在這些情況下第3列也會自動更新。

什麼是正確的公式,使之發生?

+0

你試過'If()'語句嗎?請向我們展示您嘗試的任何公式。 – BruceWayne

回答

4

你想要的計算公式爲:

=IF(D1<>"",INDEX(A:A,MATCH(D1,B:B,0)),"") 

enter image description here


編輯

對於結構化表引用:

=IF([@Col4]<>"",INDEX([Col1],MATCH([@Col4],[Col2],0)),"") 

![enter image description here

+2

我有一種感覺,@ m5seppal必須轉換爲[結構化表格引用](https://support.office.com/zh-cn/article/Using-structured-references-with-Excel-tables-F5ED2452-2337 -4F71-BED3-C8AE6D2B276E) – Jeeped

+0

@接受你可能是正確的,補充說。 –

+0

謝謝,這幫助我完成這項工作!我的Excel不接受那些帶逗號的公式,而是希望用分號代替它,否則這個工作正常。此外,我從來沒有聽說過結構化的表格參考,對我有巨大的幫助! :) – m5seppal

1

如果稍微重新排列工作表,則可以使用VLOOKUP()函數。我換你的AB(第一和第二)列在這個到達:

--- A ---- B ---- C --- D 
r1: word1 0001 
r2: word2 0002 0001 word1 
r3: word3 0003 0002 word2 

輸入到C1

=VLOOKUP(D1, A$1:B$3, 2, FALSE) 

並複製此公式向下的C列。

交換前兩列的原因是VLOOKUP()總是在匹配的第一列中查找。

相關問題