當前位置:成語大全網 - 新華字典 - 如何用index函數把數據庫中給定壹個時間段內符合給出的壹些條件的所有行數據提取到另壹個工作表中?

如何用index函數把數據庫中給定壹個時間段內符合給出的壹些條件的所有行數據提取到另壹個工作表中?

妳這個數據,這麽多條件, 如果用公式寫也不是不可以但是需要數組公式,會非常麻煩。數組公式運算量也會很大,所以會導致運算非常緩慢。

建議用VBA來解決,可以實現妳的問題,VBA運算也比較快,統計更準確。

當然,寫VBA代碼需要妳的原表樣表。如果讓我寫不免費。有必要的話可私信。 以下可以說壹下思路。

如果用公式,要計算每壹列的數據是否符合條件,如果符合所有組合條件,則返回行號,如果不符合所有條件,則返回工作表最大行號。然後用small或者large+row函數將對應符合條件的行號根據序列提取出來,然後再用index或者indirect函數返回相應的數據。由於妳要查詢的數據量比較大,每個單元格都要把數組中的數據運算壹遍,再提取相應的數據,所以運算量非常大。可能會卡的受不了。

用VBA的思路,核對每壹行數據,如果符合條件的,寫入數組或者字典,然後將數組或者字典中的數據輸出即可。所以每壹行的數據只用提取壹遍,而且內存運算, 速度非常快。 當然,如果不習慣這個, 也可以用復制粘貼的方法, 符合條件的直接粘貼過來也行。這樣數據量大的話,可能會慢壹些,但是可以帶格式,代碼相對好寫壹些,比較直觀。

不管用哪種方式,做現在妳這個要求的工作,都是代碼比較合適。

如果還有問題,歡迎繼續追問或者私信。