2015-05-04 39 views
0

我想刪除excel數據中除「包含」名稱「abc」的行以外的所有數據。我正在嘗試更新Excel表格並且然後得到每個副本重複多少次的計數。輸出應該是另一個Excel表格,其中我有濃縮重複值以及先前計數。在Excel工作表中保留特定值並刪除其他人並獲得重複次數count vbscript

我做了什麼:爲了讓我用這個重複值的計數:

 =COUNTIF($A$1:$A$8, A1 

但我怎麼能刪除其他值,並把剩下的一個新的Excel工作表。

回答

1

使用行號或任何其他行ID添加「RowNo」列。接着使用Microsoft查詢在輸出的Excel文件例如爲:

SELECT S1.Val, COUNT(S1.Val) FROM `C:\Book1.xls`.`Sheet1$` as S1 
INNER JOIN `C:\Book1.xls`.`Sheet1$` as S2 
WHERE S1.Val = S2.Val and S1.RowNo > S2.RowNo 
GROUP BY S1.Val 

此外,除去不含有例如數據'abc'可以將另一個條件添加到WHERE子句中:S1.Val NOT LIKE「abc」。見下:

SELECT S1.Val, COUNT(S1.Val) FROM `C:\Book1.xls`.`Sheet1$` as S1 
    INNER JOIN `C:\Book1.xls`.`Sheet1$` as S2 
    WHERE S1.Val = S2.Val and S1.RowNo > S2.RowNo AND S1.Val NOT LIKE "*abc*" 
    GROUP BY S1.Val 

隨意用我的AddIn測試不同的SQL:link

要通過VBscript的此設置:

  1. 步驟1:用此Microsoft查詢

  2. 第2步創建一個Excel:創建一個VBScript,將刷新Microsoft Query中的Excel文件(在此處查看如何從VBscript link連接到Excel文件的示例。

+0

Just for Info,它是VBScript嗎.. –

+0

當然可以。只需使用此查詢創建工作簿並通過VBscript對其進行刷新即可。 –

+0

感謝您的回覆。真的退出嘗試 –

相關問題