返回列表 上一主題 發帖

[發問] 當符合條件時回傳Sample time & 其儲存格列號

[發問] 當符合條件時回傳Sample time & 其儲存格列號

當符合current (A) <0.1 的條件時回傳Sample time & 其儲存格列號在指定位置 Question5.rar (9.95 KB)

回復 1# marklos


    要試看看vba嗎

複本 Xl0000225.rar (12.51 KB)

TOP

回復 2# owen06


    可否請教VBA指令為何?

TOP

回復 3# marklos


    你下載我的附檔,開啟之後,設定好g2的值,按下右邊的按鈕,就可以了。
    按下alt+f11,可以進入vba編輯畫面,你可以研究看看。
    有問題可以再上來提出討論。

TOP

回復 4# owen06


    了解~感謝...有問題再請教.

TOP

回復 1# marklos

下面是陣列公式
G5=INDEX(B:B,SMALL(IF($D$2:$D$200=MAX(IF($D$2:$D$200<$G$2,$D$2:$D$200,"")),ROW($2:$200)),ROW($1:$1)))&""
H5=SMALL(IF($D$2:$D$200=MAX(IF($D$2:$D$200<$G$2,$D$2:$D$200,"")),ROW($2:$200)),ROW($1:$1))&""

TOP

回復 4# owen06

如果要把其儲存列號代入以下算式去計算其時間總數及總和該怎麼做?
  =COUNT(E2:E61)/3600
  =SUM(E2:E61)/3600

TOP

回復 6# samwang


    可是回傳出來的答案是第20列的資料耶,正確的應該是第61列不是嗎?

TOP

回復 7# marklos


    假設在h6跟h7要計算的話,改成這樣就行了
  1. Private Sub CommandButton1_Click()
  2. [g5,h5] = ""
  3. For Each cu In Range("d2:d" & [a65536].End(3).Row)
  4. If cu.Value < [g2] Then
  5.   [g5] = cu.Offset(0, -2).Value
  6.   [h5] = cu.Row
  7.   [h6] = Application.Count(Range("e2:e" & cu.Row)) / 3600
  8.   [h7] = Application.Sum(Range("e2:e" & cu.Row)) / 3600
  9.   Exit Sub
  10. End If
  11. Next
  12. End Sub
複製代碼

TOP

回復 8# owen06


送上附件

Xl0000225.rar (10.6 KB)

TOP

        靜思自在 : 虛空有盡.我願無窮,發願容易行願難。
返回列表 上一主題