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

Вход

Регистрация

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

 

= Мир MS Excel/Выбор № столбца по совпадениям в матрице данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Выбор № столбца по совпадениям в матрице данных (Формулы/Formulas)
Выбор № столбца по совпадениям в матрице данных
Sony Дата: Среда, 09.03.2016, 13:27 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Приветствую всех!
Помогите пожалуйста найти решение по автоматизации таблички. Пример основан на работе цеха полиграфии, склейка коробок
Суть алгоритма такова:

Существуют 3 условия вводимые вручную:
- тип склейки;
- количество клеевых клапанов;
- уровень сложности;

Затем по табличке нужно найти столбец где все 3 условия совпадают и результатом должен стать № этого столбца.

Возможно, несовершенна сама табличка, можете предложить заменить + на числа и т.д.
Буду благодарен за любые решения
К сообщению приложен файл: 6302754.xlsx (32.1 Kb)


Сообщение отредактировал Sony - Среда, 09.03.2016, 13:32
 
Ответить
СообщениеПриветствую всех!
Помогите пожалуйста найти решение по автоматизации таблички. Пример основан на работе цеха полиграфии, склейка коробок
Суть алгоритма такова:

Существуют 3 условия вводимые вручную:
- тип склейки;
- количество клеевых клапанов;
- уровень сложности;

Затем по табличке нужно найти столбец где все 3 условия совпадают и результатом должен стать № этого столбца.

Возможно, несовершенна сама табличка, можете предложить заменить + на числа и т.д.
Буду благодарен за любые решения

Автор - Sony
Дата добавления - 09.03.2016 в 13:27
Pelena Дата: Среда, 09.03.2016, 14:34 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Без переделки таблицы можно формулой массива
Код
=МАКС((ИНДЕКС($C$5:$P$6;ПОИСКПОЗ($C$24&" склейка";$B$5:$B$6;0);0)="+")*(ИНДЕКС($C$7:$P$13;$C$25;0)="+")*(ИНДЕКС($C$14:$P$19;$C$26;0)="+")*$C$4:$P$4)
К сообщению приложен файл: 5597998.xlsx (33.2 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Без переделки таблицы можно формулой массива
Код
=МАКС((ИНДЕКС($C$5:$P$6;ПОИСКПОЗ($C$24&" склейка";$B$5:$B$6;0);0)="+")*(ИНДЕКС($C$7:$P$13;$C$25;0)="+")*(ИНДЕКС($C$14:$P$19;$C$26;0)="+")*$C$4:$P$4)

Автор - Pelena
Дата добавления - 09.03.2016 в 14:34
Sony Дата: Среда, 09.03.2016, 14:43 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Черт возьми, Холмс ! Коротенько и логично!!!
До конца рабочего дня буду перекладывать на оригинал (пример понятное дело упрощён был).

Спасибо огромное !!! hands
 
Ответить
СообщениеЧерт возьми, Холмс ! Коротенько и логично!!!
До конца рабочего дня буду перекладывать на оригинал (пример понятное дело упрощён был).

Спасибо огромное !!! hands

Автор - Sony
Дата добавления - 09.03.2016 в 14:43
abtextime Дата: Среда, 09.03.2016, 15:06 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Смешной рабоче-крестьянский вариант (особенно по сравнению с элегантной формулой Pelena). Но мне, не гуру Экселя, вот так было бы проще сделать
К сообщению приложен файл: _6302754.xlsx (33.0 Kb)
 
Ответить
СообщениеСмешной рабоче-крестьянский вариант (особенно по сравнению с элегантной формулой Pelena). Но мне, не гуру Экселя, вот так было бы проще сделать

Автор - abtextime
Дата добавления - 09.03.2016 в 15:06
Sony Дата: Среда, 09.03.2016, 16:01 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Офигеть! %)
Я думал что-то понимаю в Excel, но чую даже в РККА мне еще рано.... Завтра попробуем с оригиналом, если вы господа не против
 
Ответить
СообщениеОфигеть! %)
Я думал что-то понимаю в Excel, но чую даже в РККА мне еще рано.... Завтра попробуем с оригиналом, если вы господа не против

Автор - Sony
Дата добавления - 09.03.2016 в 16:01
abtextime Дата: Среда, 09.03.2016, 16:03 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Мы, господа и дамы (в лице уважаемой Pelena), безусловно, не против :)
 
Ответить
СообщениеМы, господа и дамы (в лице уважаемой Pelena), безусловно, не против :)

Автор - abtextime
Дата добавления - 09.03.2016 в 16:03
МВТ Дата: Среда, 09.03.2016, 22:33 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Показалось забавным решить эту задачу при помощи UDF[vba]
Код
Function УровеньСложности(Склейка As String, Клапаны As Integer, Сложность As Integer)
    Dim Sk(), Kl(), Sl()
    Dim aSk As Integer, I As Integer
    Склейка = LCase(Склейка)
    If InStr(Склейка, "машинная") <> 0 Then aSk = 1 Else _
    If InStr(Склейка, "ручная") <> 0 Then aSk = 2 Else Exit Function
    If Клапаны > 7 Or Сложность > 6 Then Exit Function
    Sk = Range("C5:P6").Value
    Kl = Range("C7:P13").Value
    Sl = Range("C14:P19").Value
    For I = 1 To 14
        If Len(Sk(aSk, I)) + Len(Kl(Клапаны, I)) + Len(Sl(Сложность, I)) = 3 Then
            УровеньСложности = I
            Exit Function
        End If
    Next
End Function
[/vba]
 
Ответить
СообщениеПоказалось забавным решить эту задачу при помощи UDF[vba]
Код
Function УровеньСложности(Склейка As String, Клапаны As Integer, Сложность As Integer)
    Dim Sk(), Kl(), Sl()
    Dim aSk As Integer, I As Integer
    Склейка = LCase(Склейка)
    If InStr(Склейка, "машинная") <> 0 Then aSk = 1 Else _
    If InStr(Склейка, "ручная") <> 0 Then aSk = 2 Else Exit Function
    If Клапаны > 7 Or Сложность > 6 Then Exit Function
    Sk = Range("C5:P6").Value
    Kl = Range("C7:P13").Value
    Sl = Range("C14:P19").Value
    For I = 1 To 14
        If Len(Sk(aSk, I)) + Len(Kl(Клапаны, I)) + Len(Sl(Сложность, I)) = 3 Then
            УровеньСложности = I
            Exit Function
        End If
    Next
End Function
[/vba]

Автор - МВТ
Дата добавления - 09.03.2016 в 22:33
Sony Дата: Четверг, 10.03.2016, 08:55 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вот доработанный файл (немножко больше условий, но суть прежняя).

Внизу таблицы вручную выбираются входные данные из раскрывающегося списка

Можно также менять "+" на "1"
К сообщению приложен файл: 8187810.xlsx (32.4 Kb)
 
Ответить
СообщениеВот доработанный файл (немножко больше условий, но суть прежняя).

Внизу таблицы вручную выбираются входные данные из раскрывающегося списка

Можно также менять "+" на "1"

Автор - Sony
Дата добавления - 10.03.2016 в 08:55
Pelena Дата: Четверг, 10.03.2016, 10:00 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Немного изменила таблицу.
В файле две формулы, обе массивные. Первая похожа на предыдущий вариант
Код
=МАКС(ИНДЕКС($C$4:$P$19;ПОИСКПОЗ(C23;$B$4:$B$19;0);0)*ИНДЕКС($C$4:$P$19;ПОИСКПОЗ(C24;$B$4:$B$19;0);0)*ИНДЕКС($C$4:$P$19;ПОИСКПОЗ(C25;$B$4:$B$19;0);0)*$C$3:$P$3)

Вторая немного короче
Код
=МАКС((МУМНОЖ(ТРАНСП(СТРОКА(B4:B19)^0);ЕЧИСЛО(ПОИСКПОЗ(B4:B19;C23:C25;0))*C4:P19)=3)*C3:P3)
К сообщению приложен файл: 8187810-1-.xlsx (33.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНемного изменила таблицу.
В файле две формулы, обе массивные. Первая похожа на предыдущий вариант
Код
=МАКС(ИНДЕКС($C$4:$P$19;ПОИСКПОЗ(C23;$B$4:$B$19;0);0)*ИНДЕКС($C$4:$P$19;ПОИСКПОЗ(C24;$B$4:$B$19;0);0)*ИНДЕКС($C$4:$P$19;ПОИСКПОЗ(C25;$B$4:$B$19;0);0)*$C$3:$P$3)

Вторая немного короче
Код
=МАКС((МУМНОЖ(ТРАНСП(СТРОКА(B4:B19)^0);ЕЧИСЛО(ПОИСКПОЗ(B4:B19;C23:C25;0))*C4:P19)=3)*C3:P3)

Автор - Pelena
Дата добавления - 10.03.2016 в 10:00
Sony Дата: Четверг, 10.03.2016, 10:27 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо Pelena!
Всё работает.
2- й вариант за пределами нашего понимания, но группу выбирает так же правильно!
 
Ответить
СообщениеСпасибо Pelena!
Всё работает.
2- й вариант за пределами нашего понимания, но группу выбирает так же правильно!

Автор - Sony
Дата добавления - 10.03.2016 в 10:27
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Выбор № столбца по совпадениям в матрице данных (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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