Как я могу расположить дубликаты записей в двух столбцах в Excel? - PullRequest
0 голосов
/ 08 сентября 2018

В моем превосходстве у меня есть 5 столбцов (A, B, C, D, E) и строки (от 1 до 10). в двух столбцах (A и B) содержится несколько совпадающих текстов. Например, скажем, у A1 и B5 есть «Apple», а у A3 и B2 - «Orange». Как я могу расположить столбец B таким образом, чтобы текст «Apple» и «Orange» столбец B может сместиться в ту же строку, что и A (т. е. B1 = Apple, B3 = Orange), не мешая другим записям в столбцах?

[Before]

[Desired outcome]

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Если вам нужно решение не VBA, вы можете использовать эту формулу и перетащить вниз:

= IF(COUNTIF(B$1:B$10,A1)>0,A1,IFERROR(INDEX(B$1:B$10,MATCH(B1,A$1:A$10,0)),B1))

См. Ниже, рабочий пример.

enter image description here

Конечно, недостатком здесь является то, что сам столбец B не обновляется. Новый столбец должен быть создан. Если вы действительно хотите обновить столбец B, тогда требуется VBA, и я рекомендую использовать решение @ Gary'sStudent.


EDIT

Судя по вашим обновлениям к исходному вопросу, вы просто хотите получить базовый INDEX / MATCH.

= INDEX(C$1:C$8,MATCH($A1,$B$1:$B$8,0))

См. Ниже, рабочий пример. Обратите внимание, что нет необходимости создавать формулу для того, что вы хотите в столбце B, поскольку она уже идентична столбцу A.

enter image description here

0 голосов
/ 08 сентября 2018

Это основано на обмене записями. До:

enter image description here

и запустите этот код подкачки:

Sub swap()
    Dim i As Long, j As Long, temp As String, v As String
    For i = 1 To 10
        v = Cells(i, 1)
        For j = 1 To 10
            If v = Cells(j, 2) Then
                temp = Cells(i, 2)
                Cells(i, 2) = v
                Cells(j, 2) = temp
            End If
        Next j
    Next i
End Sub

Результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...