2014-11-04 130 views
0

我有包含組成信息(名稱,電子郵件等)的網站日誌(製表符分隔的文本文件)。我使用ImportOmatic將這些日誌導入到我的Raiser's Edge數據庫中。 ImportOmatic會給我一個異常記錄,顯示沒有被導入的記錄。請注意,這不是關於Raiser's Edge或ImportOmatic的問題(但如果ImportOmatic異常日誌實際上包含未導入的數據,而不是僅包含行號的數據,那將會很不錯)。通過在另一個電子表格中匹配數字來篩選Excel電子表格中的記錄

示例網站日誌:

ImportID KeyInd FirstName LastName OrgName AddrImpID AddrInfoSrc PrefAddr AddrSendMail AddrLines AddrCity AddrState AddrZip AddrCountry ConsCode PhoneAddrImpID2 PhoneNumber2 PhoneType2 
InternetI201303999 I Joshua Jackson  InternetA201303999 Internet Yes Yes 194 Notch Ln. Reeds Spring MO 65737 UNITED STATES PARTNER InternetA201303999 [email protected] E-Mail 

例異常日誌:

Line 1: Data too long for field: Max length = 3 for State [Object: 'CConstitAddress', PK: '-1', Import ID: '', Desc: '194 Notch Ln., Reeds Spring', Field: 'State', Value: 'Missour'] -->BBREAPI.CRecordClass.Save()-->ImportOM.CImport.Process() 

在這種特定情況下,我拼錯密蘇里(故意)開始,產生異常。

我將網站日誌導入到一個工作表中,並將異常日誌導入到另一個工作表(同一文件)中。 Excel給出網站日誌行號(我的記錄將是第2行,因爲標題是第1行)。我導入異常日誌作爲空格分隔(我想我也可以使用:-delimited)文本文件(我的例外是第1行,因爲它不會導入標題)。我應該可以通過一個公式去除:(=LEFT(B1, LEN(B1)-1)),然後添加1(=B1+1),以便我有一行行數應與Excel提供網站日誌的行數相匹配。如果沒有辦法將例外的行號列與Excel創建的行號相匹配,我總是可以創建一個附加列,並且只填充一系列數字。

我想要做的是,以某種方式使用例外日誌的Line x作爲過濾器來僅顯示那些需要手動輸入的記錄。我想像一個反向過濾器(隱藏好的數據並顯示錯誤的數據)。

顯然,我還沒有得到它的工作(否則我不會問)。我是否全都錯了?我確信這可以完成,但它躲避我。

+0

我認爲(!也許),你可能一個索引列由0-1添加到網站日誌,增加和替換'行'在ColumnB你異常日誌有索引那比賽。然後查找(比如說用= MATCH)每個索引以查看它是否存在於異常日誌的ColumnB中並過濾掉那些。 – pnuts 2014-11-04 22:44:50

回答

1

如果你的錯誤的列表在Sheet2上可樂(每小區一行,無需分割上「:」),您可以添加一列使用像這樣的公式導入的數據:

=ISERROR(MATCH("Line " & ROW()-1 & ":*",Sheet2!A:A,0)) 

輸出:

TRUE --> was imported 
FALSE --> had an error 
+0

這很棒。我仍然沒有把頭圍住,但它正確地報告了記錄。我能夠過濾該列並刪除TRUE。現在,我只有我想看到的記錄。 – doubleJ 2014-11-05 15:36:49

+0

在這個答案中,有很多事情我不知道是否存在或如何去做。我曾經見過'MATCH()'或'ROW()',但我並沒有真正理解'A:A'陣列的想法(我已經看到了其他功能,但沒有得到它)​​。這是我腰帶上另一個有用的工具。 – doubleJ 2014-11-05 16:10:54

相關問題