Выборка уникальных значений по условию из второго столбца
Sancho
Дата: Воскресенье, 22.11.2015, 16:44 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 279
Репутация:
19
±
Замечаний:
0% ±
2007, 2010, 2013
Всем добрых суток. Пошарил форум, решений много, но видимо придется разбираться на своем примере. Извините если уже вопрос вызывает у вас "оскомину". Требуется выборка уникальных значений в диапазон I2:I23 из столбца B по условию в столбце A, задает условие ячейка H1.
Всем добрых суток. Пошарил форум, решений много, но видимо придется разбираться на своем примере. Извините если уже вопрос вызывает у вас "оскомину". Требуется выборка уникальных значений в диапазон I2:I23 из столбца B по условию в столбце A, задает условие ячейка H1. Sancho
К сообщению приложен файл:
1111.xlsx
(8.7 Kb)
Ответить
Сообщение Всем добрых суток. Пошарил форум, решений много, но видимо придется разбираться на своем примере. Извините если уже вопрос вызывает у вас "оскомину". Требуется выборка уникальных значений в диапазон I2:I23 из столбца B по условию в столбце A, задает условие ячейка H1. Автор - Sancho Дата добавления - 22.11.2015 в 16:44
Serge_007
Дата: Воскресенье, 22.11.2015, 16:53 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Здравствуйте Формула массива:Код
=ИНДЕКС(B$2:B$23;НАИМЕНЬШИЙ(ЕСЛИ(H$1=A$2:A$23;СТРОКА($1:$22));СТРОКА(A1)))
Здравствуйте Формула массива:Код
=ИНДЕКС(B$2:B$23;НАИМЕНЬШИЙ(ЕСЛИ(H$1=A$2:A$23;СТРОКА($1:$22));СТРОКА(A1)))
Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Здравствуйте Формула массива:Код
=ИНДЕКС(B$2:B$23;НАИМЕНЬШИЙ(ЕСЛИ(H$1=A$2:A$23;СТРОКА($1:$22));СТРОКА(A1)))
Автор - Serge_007 Дата добавления - 22.11.2015 в 16:53
Serge_007
Дата: Воскресенье, 22.11.2015, 16:59 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Если еще и коды уникальные нужны, то:Код
=ИНДЕКС(B$2:B$23;НАИМЕНЬШИЙ(ЕСЛИ((H$1=A$2:A$23)*(ПОИСКПОЗ(B$2:B$23;B$2:B$23;)=СТРОКА($1:$22));СТРОКА($1:$22));СТРОКА(A1)))
Если еще и коды уникальные нужны, то:Код
=ИНДЕКС(B$2:B$23;НАИМЕНЬШИЙ(ЕСЛИ((H$1=A$2:A$23)*(ПОИСКПОЗ(B$2:B$23;B$2:B$23;)=СТРОКА($1:$22));СТРОКА($1:$22));СТРОКА(A1)))
Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Если еще и коды уникальные нужны, то:Код
=ИНДЕКС(B$2:B$23;НАИМЕНЬШИЙ(ЕСЛИ((H$1=A$2:A$23)*(ПОИСКПОЗ(B$2:B$23;B$2:B$23;)=СТРОКА($1:$22));СТРОКА($1:$22));СТРОКА(A1)))
Автор - Serge_007 Дата добавления - 22.11.2015 в 16:59
_Boroda_
Дата: Воскресенье, 22.11.2015, 17:08 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация:
6616
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Еще вариант для уникальных кодов по условиюКод
=ИНДЕКС(B$2:B$23;ПОИСКПОЗ(;СЧЁТЕСЛИ(I$1:I1;ЕСЛИ(A$2:A$23=H$1;B$2:B$23;I$1));))
С проверкой на ошибкуКод
=ЕСЛИОШИБКА(ИНДЕКС(B$2:B$23;ПОИСКПОЗ(;СЧЁТЕСЛИ(I$1:I1;ЕСЛИ(A$2:A$23=H$1;B$2:B$23;I$1));));"")
Формулы массива. Вводятся одновременным нажатием Контрл Шифт Ентер
Еще вариант для уникальных кодов по условиюКод
=ИНДЕКС(B$2:B$23;ПОИСКПОЗ(;СЧЁТЕСЛИ(I$1:I1;ЕСЛИ(A$2:A$23=H$1;B$2:B$23;I$1));))
С проверкой на ошибкуКод
=ЕСЛИОШИБКА(ИНДЕКС(B$2:B$23;ПОИСКПОЗ(;СЧЁТЕСЛИ(I$1:I1;ЕСЛИ(A$2:A$23=H$1;B$2:B$23;I$1));));"")
Формулы массива. Вводятся одновременным нажатием Контрл Шифт Ентер _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Еще вариант для уникальных кодов по условиюКод
=ИНДЕКС(B$2:B$23;ПОИСКПОЗ(;СЧЁТЕСЛИ(I$1:I1;ЕСЛИ(A$2:A$23=H$1;B$2:B$23;I$1));))
С проверкой на ошибкуКод
=ЕСЛИОШИБКА(ИНДЕКС(B$2:B$23;ПОИСКПОЗ(;СЧЁТЕСЛИ(I$1:I1;ЕСЛИ(A$2:A$23=H$1;B$2:B$23;I$1));));"")
Формулы массива. Вводятся одновременным нажатием Контрл Шифт Ентер Автор - _Boroda_ Дата добавления - 22.11.2015 в 17:08
sv2014
Дата: Воскресенье, 22.11.2015, 17:14 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
Sancho, добрый день вариант с макросом,кнопка yyy в файл-примере [vba]Код
Sub zzz() Dim z, i& z = Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row).Value With CreateObject("scripting.dictionary"): .comparemode = 1 For i = 1 To UBound(z, 1) If z(i, 1) = "вспомогательное" Then .Item(z(i, 2)) = 0 Next i Range("I2").Resize(.Count, 1) = Application.Transpose(.Keys) End With End Sub
[/vba]
Sancho, добрый день вариант с макросом,кнопка yyy в файл-примере [vba]Код
Sub zzz() Dim z, i& z = Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row).Value With CreateObject("scripting.dictionary"): .comparemode = 1 For i = 1 To UBound(z, 1) If z(i, 1) = "вспомогательное" Then .Item(z(i, 2)) = 0 Next i Range("I2").Resize(.Count, 1) = Application.Transpose(.Keys) End With End Sub
[/vba] sv2014
Ответить
Сообщение Sancho, добрый день вариант с макросом,кнопка yyy в файл-примере [vba]Код
Sub zzz() Dim z, i& z = Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row).Value With CreateObject("scripting.dictionary"): .comparemode = 1 For i = 1 To UBound(z, 1) If z(i, 1) = "вспомогательное" Then .Item(z(i, 2)) = 0 Next i Range("I2").Resize(.Count, 1) = Application.Transpose(.Keys) End With End Sub
[/vba] Автор - sv2014 Дата добавления - 22.11.2015 в 17:14
Sancho
Дата: Воскресенье, 22.11.2015, 17:16 |
Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 279
Репутация:
19
±
Замечаний:
0% ±
2007, 2010, 2013
Здравствуйте, Serge. Что то с кодом не то, даже в вашем варианте выбранные данные не уникальны цех 1116 повторяется 7 раз. при постановке кода в ячейки I2:I23 в свой изначальный файл у меня совсем иная картина. на вспомогательное производство выбирает только цех 1111 относящийся к основному. и почему в коде СТРОКА($1:$22));СТРОКА(A1))) если у нас условия и нужные данные находятся в строках 2:23?
Здравствуйте, Serge. Что то с кодом не то, даже в вашем варианте выбранные данные не уникальны цех 1116 повторяется 7 раз. при постановке кода в ячейки I2:I23 в свой изначальный файл у меня совсем иная картина. на вспомогательное производство выбирает только цех 1111 относящийся к основному. и почему в коде СТРОКА($1:$22));СТРОКА(A1))) если у нас условия и нужные данные находятся в строках 2:23? Sancho
Сообщение отредактировал Sancho - Воскресенье, 22.11.2015, 17:19
Ответить
Сообщение Здравствуйте, Serge. Что то с кодом не то, даже в вашем варианте выбранные данные не уникальны цех 1116 повторяется 7 раз. при постановке кода в ячейки I2:I23 в свой изначальный файл у меня совсем иная картина. на вспомогательное производство выбирает только цех 1111 относящийся к основному. и почему в коде СТРОКА($1:$22));СТРОКА(A1))) если у нас условия и нужные данные находятся в строках 2:23? Автор - Sancho Дата добавления - 22.11.2015 в 17:16
Sancho
Дата: Воскресенье, 22.11.2015, 17:26 |
Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 279
Репутация:
19
±
Замечаний:
0% ±
2007, 2010, 2013
Вот вы блин шайтаны все))) Всем спасибо огромное - работает
Вот вы блин шайтаны все))) Всем спасибо огромное - работает Sancho
Ответить
Сообщение Вот вы блин шайтаны все))) Всем спасибо огромное - работает Автор - Sancho Дата добавления - 22.11.2015 в 17:26
jakim
Дата: Воскресенье, 22.11.2015, 17:49 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1218
Репутация:
316
±
Замечаний:
0% ±
Excel 2010
Ещё одна немассивная формула.
Код
=IFERROR(INDEX($B$2:$B$123;MATCH(1;INDEX((COUNTIF($H$1:H1;$B$2:$B$123)=0)*(A$2:A$123=G$1);0);0));"")
Ещё одна немассивная формула.
Код
=IFERROR(INDEX($B$2:$B$123;MATCH(1;INDEX((COUNTIF($H$1:H1;$B$2:$B$123)=0)*(A$2:A$123=G$1);0);0));"")
jakim
Ответить
Сообщение Ещё одна немассивная формула.
Код
=IFERROR(INDEX($B$2:$B$123;MATCH(1;INDEX((COUNTIF($H$1:H1;$B$2:$B$123)=0)*(A$2:A$123=G$1);0);0));"")
Автор - jakim Дата добавления - 22.11.2015 в 17:49