2017-07-31 166 views
-1

我有一個excel工作表鏈接到[Raw Data]列中的SQL查詢。在添加幾列公式以清理原始數據之後,我需要查找列[ProcDataO]中是否存在列[ProcDataQ]中的值,所有列都包含以創建Table1。比較Column1到Column2並寫入Column3(如果匹配

ProcDataQ | ProcDataO | Stat 
--------- | --------- | ---- 
C1234  | C7126 | Ordered 
C8372  | C6152 | No Order 
C7126  | C1234 | Ordered 

我可以用下面的公式來做到這一點,但我有超過20,000記錄,它需要或約30秒加載或刷新表,我想我可以用一點點VBA加快這我將觸發在查詢刷新上運行。

=IF(AND(LEFT([@[Raw Data]],1)="q", (NOT(ISERROR(MATCH([@ProcDataQ],[ProcDataO], 0))))),"Ordered", "No Order Placed") 

fyi,我在PC上運行excel 2010。

+0

那麼究竟什麼是你的問題? –

+0

如何循環訪問ProcDataO列以查找與ProcDataQ的任何匹配,並且如果找到匹配項,則在Stat列中輸入一個值?最好使用VBA,因爲即使在排序數據時,我的Excel公式緩慢刷新也非常緩慢。 – JDesantis

回答

0

只需使用一個IF和COUNTIF聲明:

= IF(COUNTIF(範圍,項目查找)> 0, 「有序」, 「不排序」)

相關問題