programing

두 Excel 워크시트의 차이점을 찾으십니까?

nicescript 2023. 4. 22. 22:53
반응형

두 Excel 워크시트의 차이점을 찾으십니까?

저는 같은 구조의 엑셀 파일이 두 개 있습니다.둘 다 데이터가 있는 1개의 컬럼이 있습니다.하나는 800 레코드, 다른 하나는 805 레코드입니다만, 805 세트 중 어느 것이 800 세트에 포함되지 않았는지 모르겠습니다.엑셀로 알 수 있을까요?

vlookup은 당신의 친구입니다!

각 스프레드시트의 A열에 한 행당 하나의 값을 입력합니다.큰 시트의 열 B에 다음과 같이 입력합니다.

=VLOOKUP(A1,'[Book2.xlsb]SheetName'!$A:$A,1,FALSE)

그런 다음 데이터 열이 실행될 때까지 공식을 아래로 복사합니다.

공식의 결과가 FALSE이면 해당 데이터는 다른 워크시트에 없습니다.

해킹처럼 보일 수도 있지만 개인적으로 셀을 텍스트로 복사(또는 CSV로 내보내기)하는 을 Winmerge나 다른 다른 툴에 더 선호합니다.두 시트에 거의 동일한 데이터가 포함되어 있다고 가정하면 Winmerge는 즉시 차이를 표시합니다.

LibreOffice는 워크북 비교 기능을 제공합니다.편집 -> 문서 비교

간단한 방법:세 번째 시트를 사용하여 확인합니다.

시트 1과 시트 2의 차이를 찾고 싶다고 합시다.

  1. 3, 셀하여 "3, "A1"을 합니다.=IF(Sheet2!A1<>Sheet1!A1,"difference","")
  2. 그런 다음 시트 3의 모든 셀을 선택하고, 채워넣고, 오른쪽으로 채웁니다.
  3. 시트 1과 시트 2 사이에 다른 셀이 시트 3에서 "차이"라고 표시됩니다.

다른 실제 값을 표시하도록 공식을 조정할 수 있습니다.

Excel에는 Inquery 애드인이 있는 Excel 버전이 있습니다.

Office Web 페이지의 이 링크는 애드인이 활성화되지 않은 경우 활성화하는 프로세스와 두 워크북을 비교하는 방법 등을 설명합니다.

비교 결과 http://office.microsoft.com/en-us/excel-help/what-you-can-do-with-spreadsheet-inquire-HA102835926.aspx의 경우 구조적인 차이뿐만 아니라 편집 및 기타 많은 변화가 나타납니다.

이 무료 온라인 툴을 사용해 보세요.www.cloudyexcel.com/compare-excel/

대부분의 경우 효과가 좋으며, 때로는 결과가 약간 다를 수 있습니다.

게다가 시각적으로도 좋은 출력을 얻을 수 있습니다.

여기에 이미지 설명 입력

결과를 Excel 형식으로 다운로드할 수도 있습니다.(가입하셔야 합니다)

COUNTIF빠른 차이 확인에 적합합니다..VLOOKUP.

=COUNTIF([Book1]Sheet1!$A:$A, A1) 

일치하는 경우 1을 나타내는 컬럼이 표시되고 일치하지 않는 경우 0을 나타내는 컬럼이 표시됩니다(목록 자체 내에서 중복되는 경우 1을 초과하는 컬럼이 표시됩니다).

Microsoft Office Professional Plus 2013을 사용하는 경우 Microsoft 스프레드시트 비교를 사용하여 두 워크북 간의 차이점에 대한 보고서를 실행할 수 있습니다.

스프레드시트 비교 시작:

Windows 7의 경우: Windows 시작 메뉴의 Office 2013 도구에서 스프레드시트 비교를 클릭합니다.

Windows 8의 경우: 시작 화면에서 스프레드시트 비교를 클릭합니다.스프레드시트 비교 타일이 표시되지 않으면 스프레드시트 비교 단어를 입력하고 해당 타일을 선택합니다.

2개의 Excel 워크북 비교:

  1. [ Home ] > [ Compare Files ]을 클릭합니다.
  2. a. Compare(비교) 상자 옆에 있는 파란색 폴더 아이콘을 클릭하여 워크북의 이전 버전을 찾습니다(컴퓨터 또는 네트워크에 저장된 파일 외에도 워크북이 저장된 사이트의 웹 주소를 입력할 수 있습니다).
  3. b. 대상 상자 옆에 있는 녹색 폴더 아이콘을 클릭하여 이전 버전과 비교할 워크북의 위치를 찾은 다음 확인을 클릭합니다(TIP 다른 폴더에 저장된 동일한 이름의 두 파일을 비교할 수 있습니다).
  4. 왼쪽 창에서 수식, 매크로 또는 셀 형식과 같은 옵션을 선택하거나 선택 취소하여 워크북 비교 결과에 표시할 옵션을 선택합니다.또는 Select All을 선택합니다.

레퍼런스:

https://support.office.com/en-us/article/Basic-tasks-in-Spreadsheet-Compare-f2b20af8-a6d3-4780-8011-f15b3229f5d8

최고의 옵션은 Compare IT!라고 하는 프리웨어 앱이라고 생각합니다만, 매우 뛰어난 유틸리티와 사용하기 쉬운 앱입니다.http://www.grigsoft.com/wincmp3.htm

를 사용합니다.vlookup기능.

두 데이터 세트를 동일한 Excel 파일에 다른 시트에 넣습니다.그런 다음 805 행 세트 옆에 있는 열(시트2에 있을 것으로 생각됨)에 다음과 같이 입력합니다.

=if(isna(vlookup(A1, Sheet1!$A$1:$A$800, 1, false)), 0, 1)

열에는 다른 시트에서 찾을 수 없는 값의 경우 0, 값인 경우 1이 포함됩니다.시트를 정렬하여 모든 결측값을 찾을 수 있습니다.

Excel을 사용하고 있다는 것은 Microsoft의 SpreadSheet Compare를 사용할 수 있다는 것을 의미합니다.Office 2013부터 이용할 수 있습니다.네, 저는 이 질문이 6년 이상 된 것을 알고 있습니다.하지만 누군가 오늘 이 정보가 필요할지 누가 알겠어.

이 경우 메모장++ 비교 플러그인은 완벽하게 작동합니다.시트를 .csv 파일로 저장하고 메모장++로 비교하기만 하면 됩니다.메모장++는 시각적인 차이를 제공합니다.

이 재생이 너무 늦었는지도 모른다.하지만 희망은 누군가 해결책을 찾는 데 도움이 될 것이다.

두 엑셀 파일을 CSV 파일로 저장하여 Windiff와 비교하였습니다.

ExcelDiff는 HTML 보고서를 분할(병렬) 또는 병합(오버레이) 보기로 내보내며 행과 열과 차이를 강조 표시합니다.

Excel Compare를 사용했습니다.페이웨어인데 15일 평가판이 있어요.수정된 행, 추가된 행 및 삭제된 행을 보고합니다.워크시트 이름을 기준으로 일치합니다(옵션).

http://www.formulasoft.com/excel-compare.html

조건 포맷을 사용하여 Excel의 차이를 강조 표시합니다.

여기 예가 있어요.

비교하기 위해 각 데이터 컬럼을 1개만 사용하면 피벗 테이블에서 훨씬 더 많은 정보를 얻을 수 있습니다.아래 이미지에서는 Column A가 Sheet1에 있고(이미지를 위해 Sheet2에 복사본이 있음), Column C가 Sheet2에 있습니다.각 시트에 소스 플래그가 추가되었습니다(이미지의 열 B 및 D).PT는 여러 통합 범위로 작성되었습니다(Sheet1!$A$1:$B$15 ★★★★★★★★★★★★★★★★★」Sheet2!$C$1:$D$10

SO1500153 확장

1에 있는 (예: 1을 포함)이됩니다.q 번)및의 " in - - "의 2번)c ★★★★★★★★★★★★★★★★★」dd-l Sheet2와 Sheet2에는 .w ★★★★★★★★★★★★★★★★★」zSheet1이 아닌 Sheet2(이미지만을 위해 거기에 있는 것은 제외)에 있습니다. 추가 " " "Show grand totals for columns제어합계가 표시됩니다.

GUI 출력은 표시되지 않지만 필요한 것은 얻을 수 있는 명령줄 유틸리티를 찾았습니다.https://github.com/na-ka-na/ExcelCompare

샘플 출력(프로젝트의 readme 파일에서 취득):

> excel_cmp xxx.xlsx yyy.xlsx
DIFF  Cell at     Sheet1!A1 => 'a' v/s 'aa'
EXTRA Cell in WB1 Sheet1!B1 => 'cc'
DIFF  Cell at     Sheet1!D4 => '4.0' v/s '14.0'
EXTRA Cell in WB2 Sheet1!J10 => 'j'
EXTRA Cell in WB1 Sheet1!K11 => 'k'
EXTRA Cell in WB1 Sheet2!A1 => 'abc'
EXTRA Cell in WB2 Sheet3!A1 => 'haha'
----------------- DIFF -------------------
Sheets: [Sheet1]
Rows: [1, 4]
Cols: [A, D]
----------------- EXTRA WB1 -------------------
Sheets: [Sheet1, Sheet2]
Rows: [1, 11]
Cols: [B, K, A]
----------------- EXTRA WB2 -------------------
Sheets: [Sheet1, Sheet3]
Rows: [10, 1]
Cols: [J, A]
-----------------------------------------
Excel files xxx.xlsx and yyy.xlsx differ

셀 차이가 강조 표시된 다른 시트만 추출할 수 있는 도구를 찾으려고 했다.찾을 수 없어서 제가 직접 쓰게 되었습니다.저는 이것이 비슷한 해결책을 찾고 있는 누군가에게 도움이 되기를 바랍니다.좌우 고유 시트, 동일 사이즈 시트, 다른 사이즈 시트를 취급합니다.

import pandas as pd
import xlsxwriter
import numpy as np
from openpyxl import load_workbook

# Get a complete list of sheets from both WorkBook
BOOK1 = "Book_1.xlsx"
BOOK2 = "Book_2.xlsx"

xlBook1 = pd.ExcelFile(BOOK1)
sheetsBook1 = xlBook1.sheet_names
xlBook2 = pd.ExcelFile(BOOK2)
sheetsBook2 = xlBook2.sheet_names

sheets = list(set(sheetsBook1 + sheetsBook2))

with pd.ExcelWriter('Difference.xlsx', engine='xlsxwriter', mode='w') as writer:
    for sheet in sheets:
        print (sheet)

        book1 = None
        book2 = None
        book1Exists = True
        book2Exists = True

        try:
            book1 = pd.read_excel(BOOK1,sheet_name=sheet,header=None,index_col=False).fillna(' ')
        except ValueError as ve:
            book1Exists = False
        try:
            book2 = pd.read_excel(BOOK2,sheet_name=sheet,header=None,index_col=False).fillna(' ')
        except ValueError as ve:
            book2Exists = False

        # Case 1: Both sheet exist and they are identical size
        if ( (( (book1Exists == True) and (book2Exists == True) )) and 
            ( (len(book1) == len(book2)) and (len(book1.columns) == len(book2.columns)) )):


                comparevalues = book1.values == book2.values
                if False in comparevalues:
                    rows,cols = np.where(comparevalues==False)

                    for item in zip(rows,cols):
                        book1.iloc[item[0],item[1]] = ' {} --> {} '.format(book1.iloc[item[0], item[1]], book2.iloc[item[0],item[1]])

                    book1.to_excel(writer,sheet_name=sheet,index=False,header=False)
                    
                    # Get the xlsxwriter workbook and worksheet objects.
                    workbook  = writer.book
                    worksheet = writer.sheets[sheet]
                    
                    # Add a format. Light red fill with dark red text.
                    format1 = workbook.add_format({'bg_color': '#FFC7CE',
                                                   'font_color': '#9C0006'})

                    # Apply a conditional format to the cell range.
                    worksheet.conditional_format('A1:AZ100',{'type':     'text',
                                                  'criteria': 'containing',
                                                  'value':    '-->',
                                                  'format':   format1}) 

        # Case 2: Left unique case        
        elif (book1Exists == False):
            book2.to_excel(writer,sheet_name=sheet+" B2U",index=False,header=False)
        
        # Case 3: Right unique case        
        elif (book2Exists == False):
            book1.to_excel(writer,sheet_name=sheet+" B1U",index=False,header=False)
        
        # Case 4: Both exist but different size
        elif (( (book1Exists == True) and (book2Exists == True) ) and 
            ( (len(book1) != len(book2)) or (len(book1.columns) != len(book2.columns)) )):
            if (book1.size > book2.size):
                book1.to_excel(writer,sheet_name=sheet+" SD",index=False,header=False)
            elif (book2.size > book1.size):
                book2.to_excel(writer,sheet_name=sheet+" SD",index=False,header=False)
            

큰 세트에 존재하지 않는 값을 식별하거나 작은 세트에 값이 있는지 여부를 확인하는 것은 질문에서 명확하지 않습니다.여기에서는 두 가지 경우의 해결책을 제시하겠습니다.

하위 집합의 값이 집합에 없습니다.

=FILTER(B2:B11,ISNUMBER(MATCH(B2:B11,A2:A6,0)))

Set의 값이 Subset에 없는지 확인합니다.

=IF(ISNUMBER(MATCH(B2:B11,A2:A6,0)), TRUE, FALSE)

샘플 엑셀 파일

Excel 오버레이는 두 개의 스프레드시트를 서로 겹쳐놓고(표시) 차이를 강조 표시합니다.

http://download.cnet.com/Excel-Overlay/3000-2077_4-10963782.html?tag=mncol

언급URL : https://stackoverflow.com/questions/1500153/find-the-differences-between-2-excel-worksheets

반응형