끊어진 링크 검색 결과를 Excel로 가져 왔으므로 이제 오류 코드를 기준으로 결과를 정렬해야합니다. 오류 코드가 URL 아래의 행에 있고 옆에있는 열이 아니기 때문에이 작업을 수행하는 방법에 대해 머리를 터지기를 할 수 없습니다. 또한 일부 URL은 둘 이상의 행을 차지합니다.여러 행 그룹으로 목록 정렬
가 어떻게 함께 오류 404 모든 결과를 그룹화에 대해 갈 것 : 여기
스프레드 시트의 일부의 스크린 샷이다?끊어진 링크 검색 결과를 Excel로 가져 왔으므로 이제 오류 코드를 기준으로 결과를 정렬해야합니다. 오류 코드가 URL 아래의 행에 있고 옆에있는 열이 아니기 때문에이 작업을 수행하는 방법에 대해 머리를 터지기를 할 수 없습니다. 또한 일부 URL은 둘 이상의 행을 차지합니다.여러 행 그룹으로 목록 정렬
가 어떻게 함께 오류 404 모든 결과를 그룹화에 대해 갈 것 : 여기
스프레드 시트의 일부의 스크린 샷이다?A의 왼쪽에 열을 삽입하고 일련의 숫자 (1, 2, 3, ...)로 채 웁니다. 이제 B 열별로 정렬하십시오. 모든 오류 코드 항목을 선택하고 c 열 (또는 다른 빈 열)으로 끕니다. A 열에있는 일련의 숫자로 시트를 처리하십시오. 이제 모든 것이 정렬되고 오류 코드는 별도의 열 (C)입니다. C1을 마우스 오른쪽 단추로 클릭하고 셀 이동을 선택할 수 있습니다. 열 A는 삭제할 수 있으며 URL을 기준으로 정렬 할 수 있습니다 (텍스트를 약간 정리하는 것처럼 보이지만).
URL과 동일한 행에 오류 코드가 표시되지 않으면이 작업이 어려울 수 있습니다. 그러나 오류 코드에서 SEARCH 기능을 사용하여 여전히 수행 할 수 있습니다. 그러면 404 오류가 발견되지만 URL 아래에있는 셀에는 URL이 제공되지 않습니다. 따라서 셀 아래에있는 셀이 404 코드를 발견했는지 확인하는 함수가 필요합니다. 그런 다음 "실제"값을 필터링하고 두 개의 행을 가져올 수 있습니다.
A에 새 열을 만들고 아래 함수를 사용하십시오.
=IF(ISNUMBER(SEARCH("404",B1)),1,IF(A2=1,2,0))
1 및 2 값으로 필터링하십시오. http://office.microsoft.com/en-us/excel-help/check-if-a-cell-contains-text-HP003056106.aspx 및 기능에 따라
솔루션 : 일부 제약
이=IF(ISNUMBER(SEARCH("v",A2)),"OK", "Not OK")
주제 (!하지만 그들이 당신의 Q에없는) 삽입 COLUMNA에서이 공식은 역할을 할 수있다 :
=INDEX(C1:C3,MATCH("*error code:*",C1:C3,0))
함께 삽입 된 ColumnB에 =ROW()
(다른 곳에서도 가능할 수 있음)으로 표시되며 동시에 둘 다 복사됩니다.
수식은 값으로 변환해야하며 (ColumnsA : B, 붙여 넣기 ..., 값 위에), 정렬은 ColumnA와 ColumnB를 기준으로해야합니다. ColumnC에서 비어있는 행은 해당 열의 오류 코드와 함께 삭제 될 수 있습니다.
아래에서 필요한 작업을 수행하는 VBA 코드를 찾을 수 있습니다. 원본 시트가 없으므로 Excel을 만들고 무작위 데이터를 입력하십시오. 나를 위해 잘 작동합니다.
Sub test()
Dim row, rowDest, rowAux As Integer
Dim source As Worksheet
Dim dest As Worksheet
'Replace here by the name of the worksheet that contains the data
Set source = Worksheets("Sheet1")
'This is the sheet where the modified data will be placed
Set dest = Worksheets("Sheet2")
'Start row (source sheet)
row = 1
'Start row (dest sheet)
rowDest = 1
'This is an auxiliary variable used to fill the error code column
rowAux = 0
'Go to the last line (column 1) of your source sheet and write the string !q
'This will be used as a flag to know where your data finish
While (source.Cells(row, 1).Value <> "!q")
If (InStr(source.Cells(row, 1).Value, "http") > 0) Then
dest.Cells(rowDest, 1).Value = source.Cells(row, 1).Value
If (rowAux = 0) Then rowAux = rowDest
rowDest = rowDest + 1
ElseIf (InStr(source.Cells(row, 1).Value, "error code") > 0) Then
While (dest.Cells(rowAux, 1).Value <> "")
dest.Cells(rowAux, 2).Value = source.Cells(row, 1).Value
rowAux = rowAux + 1
Wend
rowAux = 0
End If
row = row + 1
Wend
End Sub
내 데이터 세트 및 결과 :
소스 시트 :
신지 시트 :
이 프로를 해결하는 쉬운 방법 blem은 데이터를 두 개의 열 (링크 및 오류 코드)로 구분하는 VBA 코드를 작성하는 것입니다. 그런 다음 Excel 정렬을 사용하여 오류 코드를 기반으로 데이터를 정렬 할 수 있습니다. – cantoni
아, 좋아. 좋아. 어떻게하는지 아십니까? – dlofrodloh
확인. 나는 당신을 위해 코드를 작성하고 답으로 게시 할 것입니다. 잠시만 기다려주세요. – cantoni