[ Регистрация · Вход · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: irakitin2014  
Извлечение уникальных значений из 3 столбцов
ab79Дата: Среда, 27.09.2017, 12:57 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 4
Репутация: 0
Статус: Offline
Здравствуйте! Данная формула
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$10;
НАИМЕНЬШИЙ(ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($B$2:$B$10; $B$2:$B$10;0);"")=СТРОКА($1:$9);ПОИСКПОЗ($B$2:$B$10;$B$2:$B$10;0);""); CТРОКА()-1);1);"")
извлекает из столбца уникальные значения. Подскажите, пожалуйста, а как ееизменить, чтобы она извлекала их из трех столбцов?
 
irakitin2014Дата: Суббота, 30.09.2017, 09:18 | Сообщение # 2
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
Здравствуйте. Может быть одной формулой извлекать уникальные, а потом ВПРом подтягивать другие значения? Ваш файл помог бы в решении вашей задачи


для спасибов ЯД 41001877306852
 
ab79Дата: Вторник, 03.10.2017, 09:45 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 4
Репутация: 0
Статус: Offline
Здравствуйте! Речь идет о таблице подсчета медалей. Она должна учитывать, сколько золотых, серебряных и бронзовых медалей у каждой страны (из столбцов B, C и D перекидывать уникальные значения в I). Как я понимаю "подтягивать ВПРом" можно только в ручном режиме, а хотелось бы, чтобы таблица была динамической. Спасибо за ответ.
Прикрепления: 1212121.xlsx (10.7 Kb)
 
irakitin2014Дата: Вторник, 03.10.2017, 11:11 | Сообщение # 4
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
а небольшой макрос + формула не пойдет?
Код
Sub TTT()
Dim t_&, t1&, t2&, t3&
t_ = Cells(Rows.Count, 1).End(xlUp).Row
    Range("B2:B" & t_).Copy
    Range("S1").PasteSpecial
        t1 = Cells(Rows.Count, 19).End(xlUp).Row
        Range("C2:C" & t_).Copy
        Range("S" & t1 + 1).PasteSpecial
            t2 = Cells(Rows.Count, 19).End(xlUp).Row
            Range("D2:D" & t_).Copy
            Range("S" & t2 + 1).PasteSpecial
                t3 = Cells(Rows.Count, 19).End(xlUp).Row
                ActiveSheet.Range("S1:S" & t3).RemoveDuplicates Columns:=1, Header:=xlNo
    Range("S1:S" & t3).Copy
      Range("I2").PasteSpecial
      Range("S1:S" & t3).ClearContents
End Sub


Код
= СУММПРОИЗВ(($B$2:$D$8=$I2)*($B$1:$D$1=J$1))
Прикрепления: ab79.xlsm (20.1 Kb)



для спасибов ЯД 41001877306852
 
ab79Дата: Вторник, 03.10.2017, 12:22 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 4
Репутация: 0
Статус: Offline
Большое спасибо! Это очень близко к тому, что мне нужно. А можно еще исправить формулу, чтобы она не считала пустые строчки. Например, если 200 метров еще не пробежали и графа не заполнена, в списке стран макрос выдает страну "пусто" и плюсует ей медали.

Добавлено (03.10.2017, 12:22)
---------------------------------------------
И кстати, добавленный вами "литрбол" он почему-то не считает

Прикрепления: 9422038.xlsm (20.1 Kb)
 
irakitin2014Дата: Вторник, 03.10.2017, 12:43 | Сообщение # 6
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
Цитата ab79 ()
добавленный вами "литрбол" он почему-то не считает

а там просто надо диапазон у формулы увеличить.
Код
=ЕСЛИ($I2="";0; СУММПРОИЗВ(($B$2:$D$20=$I2)*($B$1:$D$1=J$1)))

Вместо $D$8 поставьте нужную вам цифру.я поставил 20
Код подправил
Код
Sub TTT()
Dim t_&, t1&, t2&, t3&, i&, t4&
t_ = Cells(Rows.Count, 1).End(xlUp).Row
    Range("B2:B" & t_).Copy
    Range("S1").PasteSpecial
        t1 = Cells(Rows.Count, 19).End(xlUp).Row
        Range("C2:C" & t_).Copy
        Range("S" & t1 + 1).PasteSpecial
            t2 = Cells(Rows.Count, 19).End(xlUp).Row
            Range("D2:D" & t_).Copy
            Range("S" & t2 + 1).PasteSpecial
                t3 = Cells(Rows.Count, 19).End(xlUp).Row
                ActiveSheet.Range("S1:S" & t3).RemoveDuplicates Columns:=1, Header:=xlNo
                 t4 = Cells(Rows.Count, 19).End(xlUp).Row
                    For i = t4 To 1 Step -1
                        If Range("S" & i) = "" Then
                            Range("S" & i).Delete Shift:=xlUp
                        End If
                    Next
    Range("S1:S" & t3).Copy
      Range("I2").PasteSpecial
      Range("S1:S" & t3).ClearContents
End Sub
Прикрепления: ab79_22.xlsm (21.5 Kb)



для спасибов ЯД 41001877306852
 
irakitin2014Дата: Вторник, 03.10.2017, 12:49 | Сообщение # 7
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
Кстати у вас там Китай два раза прописан. один раз Китай и Китая


для спасибов ЯД 41001877306852
 
ab79Дата: Вторник, 03.10.2017, 13:59 | Сообщение # 8
Рядовой
Группа: Проверенные
Сообщений: 4
Репутация: 0
Статус: Offline
Вы просто волшебник! Я будучи профаном в Экселе, около месяца в Интернете формулы подбирал. Вот теперь буду интересоваться, куда там эти макросы вставляются, чтобы можно было их редактировать. В перспективе я хочу на одном листе вносить данные по разным видам спорта (легкая атлетика, плавание, борьба...) и чтобы по каждому медальный зачет подсчитывался отдельно. Надеюсь, макросы это позволят сделать. Еще раз вам огромное спасибо за то, что направили меня в нужном направлении!
 
irakitin2014Дата: Понедельник, 09.10.2017, 07:07 | Сообщение # 9
Генерал-майор
Группа: Модераторы
Сообщений: 312
Репутация: 6
Статус: Offline
ПКМ по названию листа- исходный текст. там живут все макросы


для спасибов ЯД 41001877306852
 
LordGeryДата: Понедельник, 15.07.2019, 17:20 | Сообщение # 10
Рядовой
Группа: Проверенные
Сообщений: 4
Репутация: 0
Статус: Offline
Очень даже полезно!
 
  • Страница 1 из 1
  • 1
Поиск: