|
|
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые знатоки Возможно вопрос уже обсуждался, но по поиску я не нашла, поэтому ткните носом, если не увидела))) Имеется несколько столбцов в excel с информацией такого типа: номер1 номер2 123 123 345 567 567 987 789 987 Необходимо сверить два этих столбца, и удалить совпадающие строки, то есть в итоге должно остаться вот что: номер1 номер2 345 789 Подскажите вариант действий, спасибо за внимание))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 09:56 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Такой вариант - разнести столбцы на разные листы, затем посчитать в каждом количество совпадений с другим формулой COUNTIF, удалить строки с >0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 10:11 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
ам...спасибо огромное, а в реализации как? просто я совсем новичок в программировании, хочется как-то оптимизировать свою работу, чтобы она не занимала много времени по сверке. сейчас я сижу и сверяю строки вручную ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 10:34 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Если это надо делать каждый день, тогда есть смысл макрос написать, но для этого надо видеть файл с данными, сторок на 10 хотя бы. Еще можно сложить оба столбца в один (если количество и эксель позволяют), рассортировать, затем удалить все строки, где рядом больше 1 одинакового значения. Последний этап кодом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 10:42 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Вот примерный список с данными NLS ISN1 ISN2 SUM KOD DATA 113001907 01031838290 01031838290 13.090 82 01.01.2010 113002177 01031879304 01031881190 31.960 81 01.01.2010 113010798 01031880289 01031934084 79.310 81 01.01.2010 113003511 01031880794 01031935692 28.490 150 01.01.2010 113010292 01031881190 01032099081 46.200 82 01.01.2010 113007946 01031881897 01035925305 17.900 82 01.01.2010 113004011 01031934084 01035926610 20.790 128 01.01.2010 113001986 01031935692 01036594313 187.880 84 01.01.2010 113007346 01031936088 01036596620 30.240 83 01.01.2010 113007464 01031938496 01036600888 73.750 82 01.01.2010 113019226 01031939296 01036611085 251.790 81 01.01.2010 113008578 01032099081 01036616196 21.560 82 01.01.2010 113012333 01032102953 01036702593 12.320 83 01.01.2010 сравнивать необходимо ISN1 и ISN2, оставлять те, которые есть в двух столбцах, удалять те, которые есть только в ISN1 на всякий случай прикладываю файлик в xls ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 10:48 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Концепция поменялась? :) Сортировать можно? Если да, то тут кода и не надо, руками и формулой можно обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 10:52 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Neosky, из примера следует, что задачу ставите неверно. "Нужно удалять не совпадающие строки " - "Нужно сформировать список неповторяющихся значений ". Мысль правильно понята? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 10:52 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
И что делать с теми значениями, которые есть только в ISN2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 11:01 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Т.е. надо оставить строки, где в обоих столбцах есть значения, которые есть во втором столбце? Таких строк всего 2: 113001907 01031838290 01031838290 13.090 82 01.01.2010 113010292 01031881190 01032099081 46.200 82 01.01.2010 Но вряд ли это то, что надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 11:06 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
vikttur простите, у меня опыта в постановке задач маловато))) Hugo121, нет, концепция та же, просто в первом посте не дала полную информацию по файлу. Насчет сортировки не знаю, мне главное, чтобы удалились строки, в которых совпадает ISN2 с ISN1, а уникальные в ISN1 остались Кстати, в ISN2 нет уникальных от ISN1 значений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 11:09 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Hugo121Т.е. надо оставить строки, где в обоих столбцах есть значения, которые есть во втором столбце? Таких строк всего 2: 113001907 01031838290 01031838290 13.090 82 01.01.2010 113010292 01031881190 01032099081 46.200 82 01.01.2010 Но вряд ли это то, что надо... наоборот, удалить совпадающие, должно сначала получиться так: NLS ISN1 ISN2 SUM KOD DATA 113001907 01031838290 01031838290 13.090 82 01.01.2010 113002177 01031879304 31.960 81 01.01.2010 113010798 01031880289 79.310 81 01.01.2010 113003511 01031880794 28.490 150 01.01.2010 113010292 01031881190 01031881190 46.200 82 01.01.2010 113007946 01031881897 17.900 82 01.01.2010 113004011 01031934084 01031934084 20.790 128 01.01.2010 113001986 01031935692 01031935692 187.880 84 01.01.2010 113007346 01031936088 30.240 83 01.01.2010 113007464 01031938496 73.750 82 01.01.2010 113019226 01031939296 251.790 81 01.01.2010 113008578 01032099081 01032099081 21.560 82 01.01.2010 113012333 01032102953 12.320 83 01.01.2010 а в итоге остаться так: NLS ISN1 ISN2 SUM KOD DATA 113002177 01031879304 31.960 81 01.01.2010 113010798 01031880289 79.310 81 01.01.2010 113003511 01031880794 28.490 150 01.01.2010 113007946 01031881897 17.900 82 01.01.2010 113007346 01031936088 30.240 83 01.01.2010 113007464 01031938496 73.750 82 01.01.2010 113019226 01031939296 251.790 81 01.01.2010 113012333 01032102953 12.320 83 01.01.2010 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 11:15 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
некрасивое сообщение получилось, сейчас файлик приложу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 11:16 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
вот так должно получиться: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 11:20 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Ну если надо именно так, то это делается одной формулой - в G3 =COUNTIF(C:C;B3), тянем вниз, сортируем, удаляем все, где не 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 11:59 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Hugo121Ну если надо именно так, то это делается одной формулой - в G3 =COUNTIF(C:C;B3), тянем вниз, сортируем, удаляем все, где не 0. попыталась так сделать - пишет ошибку - недопустимое имя. Что я не учла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 12:07 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
В русском экселе СЧЁТЕСЛИ() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 12:11 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
И наверное вместо ";" надо "," ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 12:12 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Точно, счетесли, но не запятую, а всетаки npg)))) В этом случае 0 обозначаются строки, которые нужно оставить))) Спасибо огромное) Обычно на форумах есть какое-то "спасибо", которым можно поблагодарить, а здесь пока не вижу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 12:18 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Итого - если строку сравнивать необходимо ISN1 и ISN2, оставлять те, которые есть в двух столбцах, удалять те, которые есть только в ISN1 читать как сравнивать необходимо ISN1 и ISN2, оставлять те, которые есть только в ISN1 то сразу видно, как решать вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 12:20 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
А с помощью чего можно удалить массово строки, значение по которым в определенной ячейке >0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 12:24 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Можно конечно макросом, но в этом случае несложно отсортировать по столбцу с формулой и удалить строки вручную, если конечно их не десятки тысяч. Если много, можно код написать под эту задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 12:28 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Например такой, только удалить, когда уже есть значения формул: Option Explicit Sub DelZnac() Dim x&, y& Dim ws As Worksheet Set ws = ActiveSheet With ws x = .UsedRange.Rows.Count For y = x To 1 Step -1 If .Cells(y, 7).Value > 0 Then .Rows(y).EntireRow.Delete Next End With End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 12:56 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное, сейчас попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 13:12 |
|
||
|
Сравнение двух столбцов, сдвиг вниз, соответствие
|
|||
|---|---|---|---|
|
#18+
Если и впрямь строк много: Option Explicit Sub DelZnac() Application.ScreenUpdating = 0 Dim x&, y& Dim ws As Worksheet Set ws = ActiveSheet With ws x = .UsedRange.Rows.Count Range("G1").Formula = "=COUNTIF(C:C,B1)" Range("G1").AutoFill Destination:=Range("G1:G" & x), Type:=xlFillDefault For y = x To 1 Step -1 If .Cells(y, 7).Value > 0 Then .Rows(y).EntireRow.Delete If y Mod 100 = 0 Then Application.StatusBar = "Working On Row " & y ' ÷ņīį āčäåņü ļšīöåńń Next End With ws.Columns(7).Clear Application.ScreenUpdating = 1 Application.StatusBar = False End Sub Всё автоматически - и формула, и удалить, и удалить саму формулу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 13:31 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36474275&tid=2178466]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 492ms |

| 0 / 0 |
