標題:
DDE動態資料如何使用HLOOKUP
[打印本頁]
作者:
corcovado886
時間:
2015-11-1 21:01
標題:
DDE動態資料如何使用HLOOKUP
在DDE動態資料裡,每一段時間的分時記錄,分別計算出MAX值,
但有辦法查找所對應的儲存格嗎?
試了LOOKUP、OFFSET、MATCH,都沒辦法成功,
好像要純數字或文字才能查找,裡面有寫公式的話,不知道有沒有辦法....
[attach]22305[/attach]
作者:
owen06
時間:
2015-11-2 11:04
回復
1#
corcovado886
直接寫在vba裡面可以嗎?
Sub 自動記錄()
If uMode = 0 Then Exit Sub
If Time > TimeValue(EndTime) Then '收盤時間以後不執行
Sht1.[W4] = "已過收盤"
uMode = 0
Exit Sub
End If
Sht1.Range("W2") = Time '當前時間(時間碼表)
'----------------------------------------------------------
'每1分鐘記錄,5分鐘則改為 Mod 5
If Second(Time) Mod 3 = 0 Then
xRow = Sht1.Range("A65536").End(xlUp).Row + 1
If xRow < 11 Then xRow = 11
Sht1.Range("A" & xRow & ":V" & xRow).Value = Sht1.Range("A2:V2").Value
Sht1.Range("W" & xRow).Value = Time
Mx = Application.Max(Sht1.Range("a" & xRow & ":v" & xRow))
Sht1.Range("Y" & xRow).Value = Mx
Ans = Sht1.Range("a" & xRow & ":v" & xRow).Find(Mx, , , xlWhole).Address
Sht1.Range("Z" & xRow).Value = Range(Ans).Column
'------------------------------------------------
If ActiveSheet.Name = Sht1.Name And xRow > 20 Then
ActiveWindow.ScrollRow = xRow - 12 '讓最新資料保持在可見視窗中
End If
ThisWorkbook.Save '存檔
End If
Application.OnTime Now + TimeValue("00:00:01"), "自動記錄" '每一秒遞迴一次
End Sub
複製代碼
作者:
准提部林
時間:
2015-11-2 11:42
Z11:
=IF(COUNT(A11:V11),MATCH(Y11,A11:V11,),"")
作者:
hcm19522
時間:
2015-11-2 12:46
硬要用HLOOKUP 參考
Z11=HLOOKUP(Y11,CHOOSE({1;2},OFFSET(A$10,ROW(A1),,,22),A$10:V$10),2,)
作者:
corcovado886
時間:
2015-11-2 20:17
回復
4#
hcm19522
感謝大家的留言,版上好多excel大師 !
好像hcm19522 大大的才是正解,因為A10:V10 不一定是照遞增順序排列。
如果要在AA11儲存格加上Min值呢?
因為公式有點複雜,不知道怎麼將下列的Max值改成最小值
=HLOOKUP(Y11,CHOOSE({1;2},OFFSET(A$10,ROW(A1),,,22),A$10:V$10),2,)
作者:
corcovado886
時間:
2015-11-2 20:27
回復
5#
corcovado886
後來自己亂試解決了,在AA欄另外計算Min值,
然後將同樣的公式複製到AB欄,往下一拉就計算出對應值了。
但這是預先在每一列寫好公式,有沒有辦法固定顯示在一個欄位呢? (例如 儲存格Y9)
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)