2016-10-18 29 views

回答

0

你可以試試下面的代碼:

Range("B2").Select 
Dim i As Integer 
i=0 
Do While ActiveCell.value <> "" 
If ActiveCell.value > 10 Then 
    Cells(4 + i, 2).value = ActiveCell.Offset(-1, 0).value 
    i = i + 1 
End If 
ActiveCell.Offset(0, 1).Activate 
Loop 

夫婦的假設:單元格A1包含「月」和單元格A2包含「貸款」。此外,您期望的輸出將顯示在單元格B4中,並向下打印在B列(B4,B5,B6等)中。

希望這會有所幫助!

+0

我的要求是使用函數來做到這一點。 :/ –

+0

您能否詳細說明您的要求?當你說你想把它作爲一個函數時,你的意思是什麼?如果你的意思是一個內置的Excel函數,那麼你只能爲特定的單元格工作,但不能在整個範圍內工作。請詳細說明您的需求,因爲它可能有助於根據您的需要考慮解決方案。 –

+0

我想要這樣的= MATCH(G268,D74:BK74,0) 這個函數正在做我的目的,但它只給出第一次出現。 –

0

這個解決方案遠非乾淨而聰明,但如果你有12個月的時間,你可以使用IF測試嵌套12次。它是這樣:

=IF($B2>10;$B$1;IF($C2>10;$C$1;IF($D2>10;$D$1; 
IF($E2>10;$E$1;IF($F2>10;$F$1;IF($G2>10;$G$1; 
IF($H2>10;$H$1;IF($I2>10;$I$1;IF($J2>10;$J$1; 
IF($K2>10;$K$1;IF($L2>10;$L$1;IF($M2>10;$M$1;"None")))))))))))) 

而且適用於列組織,如:

enter image description here

0

您是否希望創建功能?如果沒有,你可以做到這一點。

enter image description here

的檢查是

= IF(B3> 10,TRUE)

您可以隱藏檢查,如果您的Excel是報告的目的

1
=INDEX($B$1:$H$1,,MATCH(0,0/($B$2:$H$2>=10),0)) 

這是一個數組公式,因此您需要按CTRL + SHIFT + ENTER

+0

應該工作的花葯變異: '= INDEX($ A $ 1:$ F $ 1,,MIN(如果(($ A $ 2:$ F $ 2> = 10),COLUMN($ A $ 2:$ F $ 2)) ))' 這也是一個數組。 – LukasV