Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выборка уникальных значений по условию из второго столбца - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Выборка уникальных значений по условию из второго столбца
Sancho Дата: Воскресенье, 22.11.2015, 16:44 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 279
Репутация: 19 ±
Замечаний: 0% ±

2007, 2010, 2013
Всем добрых суток.
Пошарил форум, решений много, но видимо придется разбираться на своем примере. Извините если уже вопрос вызывает у вас "оскомину".

Требуется выборка уникальных значений в диапазон I2:I23 из столбца B по условию в столбце A, задает условие ячейка H1.
К сообщению приложен файл: 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)))
К сообщению приложен файл: Sancho.xls (31.0 Kb)


Ю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)))
К сообщению приложен файл: Sancho_2.xls (32.0 Kb)


Ю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));));"")

Формулы массива. Вводятся одновременным нажатием Контрл Шифт Ентер
К сообщению приложен файл: 11117146711786_.xlsx (9.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
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]
К сообщению приложен файл: 1111-1-_22_11_2.xls (40.0 Kb)
 
Ответить
Сообщение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?


Сообщение отредактировал 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


Вот вы блин шайтаны все))) Всем спасибо огромное - работает hands
 
Ответить
Сообщение

Вот вы блин шайтаны все))) Всем спасибо огромное - работает hands

Автор - 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
Дата добавления - 22.11.2015 в 17:49
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!