Board logo

標題: [發問] 請教如何挑出欄位內溫度小於20 的數值,並記錄位置。 [打印本頁]

作者: ji12345678    時間: 2015-2-25 11:24     標題: 請教如何挑出欄位內溫度小於20 的數值,並記錄位置。

請教大大:
如何挑出欄位內溫度小於20 的數值,並記錄位置。
不要跑FOR迴圈。
請教類似 find、findif、findnext的函數可用嗎?還是有其他的函數可以使用?
謝謝大大們的提點指教~!^^

[attach]20287[/attach]


[attach]20288[/attach]
作者: p212    時間: 2015-2-25 15:34

本帖最後由 p212 於 2015-2-25 15:39 編輯

回復 1# ji12345678
以函數解
儲存格G2輸入陣列公式
=IFERROR(INDEX($B:$B,SMALL(IF(($B:$B<20)*($B:$B<>""),ROW($B:$B),""),ROW(1:1))),"")
儲存格H2輸入陣列公式
=IFERROR("B"&SMALL(IF(($B:$B<20)*($B:$B<>""),ROW($B:$B),""),ROW(1:1)),"")
向下複製公式
請參考!
作者: ji12345678    時間: 2015-2-25 21:31

非常感恩p212 大大提供的方法,請教一下函數是否能在VBA的環境�媢F到這樣的功能?
作者: luhpro    時間: 2015-2-25 22:56

非常感恩p212 大大提供的方法,請教一下函數是否能在VBA的環境�媢F到這樣的功能?
ji12345678 發表於 2015-2-25 21:31
  1. Sub TEST() '找小於20的溫度
  2.   Dim lSRow&, lTrow&
  3.   
  4.   Range("G2:H200").Clear
  5.   lSRow = 2
  6.   lTrow = 2
  7.   
  8.   While Cells(lSRow, 1) <> ""
  9.     If Cells(lSRow, 2) < 20 Then
  10.       Cells(lTrow, 7) = Cells(lSRow, 2)
  11.       Cells(lTrow, 8) = Cells(lSRow, 2).Address(0, 0)
  12.       lTrow = lTrow + 1
  13.     End If
  14.     lSRow = lSRow + 1
  15.   Wend
  16. End Sub
複製代碼
[attach]20296[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)