EXCEL VBA if 循環語句
Dim i%, a% a = Sheets("source data from 201010 to (2)").Range("h1").* For i = 2 To a If Cells(i, 6).Value = "NB" Then Cells(i, 1) = Cells(i, 6).Value Cells(i, 2) = Cells(i, 7).Value Cells(i, 3) = Cells(i, 8).ValueEND IF Next i沒有加END IF朋友!。
EXCEL VBA if 循環語句
Dim i%, a%
a = Sheets("source data from 201010 to (2)").Range("h1").*
For i = 2 To a
If Cells(i, 6).Value = "NB" Then
Cells(i, 1) = Cells(i, 6).Value
Cells(i, 2) = Cells(i, 7).Value
Cells(i, 3) = Cells(i, 8).Value
END IF
Next i
沒有加END IF朋友!
excel表格中 如何建立一個if循環函數
根據你的意思,如果用if語句的話,很難實現,但是你的公式中的循環有個規律,就是倒著數(即從A25到A2的內容依次排列)第一個不為0的單元格減去A2即所得單元格,但是有個特列,就是如果倒著數第一個不為0的單元格如果是A2的話,那么就要輸出A2內容,而不是輸出第一個不為0的單元格(A2)減去A2成為0
所以,需要嵌套一個if語句,這樣就得到如下公式:
=IF(MAX((A2:A25<>0)*ROW(A2:A25))=2,A2,INDIRECT("A"&MAX((A2:A25<>0)*ROW(A2:A25)))-A2)
將該公式復制到A26單元格里,然后按Ctrl+回車即可(這里是數組公式,需要同時按下Ctrl和回車鍵)
祝你成功!
對于你的補充,說沒有成功,我專門試了一下,24個單元格依次輸入數據,修改數據,結果都是對的,2003和2010結果一樣,2007不清楚,應該也沒問題,不知道是不是你的數據里有文本格式的單元格? 若有文本格式的單元格的話這個公式就有問題了,將公式里的A2:A24乘以數字1即可,即如下公式:
=IF(MAX((A1:A25*1<>0)*ROW(A1:A25))=2,A2,INDIRECT("A"&MAX((A1:A25*1<>0)*ROW(A1:A25)))-A2)
對于再次補充,百分比應該問題不大,最主要的是內容里不要出現文字,MAX函數在這里就是取最大值A1:A25*1<>0的意思是在A1:A25區域中的每個單元格不為0的時候返回1值,否則返回0值,然后該區域返回的這些值分別和對應單元格的行標相乘,如果返回值是0,那么乘以行標結果仍然是0,如果返回值是1,那么相乘結果為行標號,MAX((A1:A25*1<>0)*ROW(A1:A25))意思即為對對應區域的不為0的單元格行號取最大值,再通過indirect函數返回對應的單元格內的數據,然后再減去A2的數值
祝你成功!
求EXCEL用VBA的IF條件語句與FOR循環語句的基本語法,不要復制
最簡單的來兩句,不明白請追問~~~
FOR的用法是這樣的:
FOR I=1 TO N
。。語句。
NEXT I
這樣的功能是,使里面的 語句 運行N次,每次I的值都不同,分別是1~N,用來完成固定次數的重復。
IF的用法是這樣的:
IF 條件 THEN
。。.語句1。。.
ELSE
。。語句2。
END IF
這樣的功能是判斷條件是否滿足,如果滿足就執行 語句1,否則執行 語句2
以上例子中的語句、語句1、語句2都可以是一個或者多個語句,往往是一段。
求助EXCEL IF循環判斷
=IF(M4="","",IF(M4="總欄目5秒冠名標版",I$4*1.3,IF(M4="版塊5秒冠名標版/特約標版",I$4*1.2,IF(M4="冠名片頭",J$4*0.8,IF(M4="擺放",J$4/2,IF(M4="使用",J$4/2,IF(M4="桌牌",J$4,IF(M4="主持人口播/次",I$4,"ok"))))))))&
=IF(M4="","",IF(M4="總欄目5秒冠名標版",I$4*1.3,IF(M4="版塊5秒冠名標版/特約標版",I$4*1.2,IF(M4="冠名片頭",J$4*0.8,IF(M4="擺放",J$4/2,IF(M4="使用",J$4/2,IF(M4="桌牌",J$4,IF(M4="主持人口播/次",I$4,"ok"))))))))*1
注意:每七層用&;字符,其結果*1
excel循環語句
把一個范圍中的數據一個個列到一起(中間用、隔開),忽略空單元格,兩兩相同的只取一個值。
不叫“忽略空單元格”,而是遇到 空單元格 就中止。
將代碼改為:
Function MyMacro1(Mydate As Range) As String
Dim tt As String, isFirst As Boolean
isFirst = True
For Each m In Mydate
If isFirst Then
isFirst = False
tt = *
MyMacro1 = tt
Else
If * = "" Then
Exit Function
ElseIf * <> tt Then
MyMacro1 = MyMacro1 &; "、" & *
End If
tt = *
End If
Next m
End Function
只需要在一個單元格中輸入:
=MyMacro1(B2:B11)
或 =MyMacro1(B:B)
GoodLuck!
轉載請注明出處華閱文章網 » excelif循環語句