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

Вход

Регистрация

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

 

= Мир MS Excel/Сравнение двух одномерных массивов с разным числом элементов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Сравнение двух одномерных массивов с разным числом элементов
lom55 Дата: Воскресенье, 09.02.2014, 13:26 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

2010
Доброго времени суток.
Сравнительно недавно начал осваивать excel и в поисках решения своей задачи набрел на ваш прекрасный форум.) В поиске решения не нашел.
Столкнулся я со следующей трудностью : есть массив из N элементов и массив из M элементов ,содержащий все значения первого массива (где M>N). Нужно их сравнить и получить массив из M элементов (нулей и единиц в местах совпадения значений елементов - все это в одной строке). Желательно с помощью формул, так как на освоение макросов пока нет времени да и большой необходимости.
Свои старания прикрепляю в файле.)
К сообщению приложен файл: 3194484.xls (32.5 Kb)


Сообщение отредактировал lom55 - Воскресенье, 09.02.2014, 13:27
 
Ответить
СообщениеДоброго времени суток.
Сравнительно недавно начал осваивать excel и в поисках решения своей задачи набрел на ваш прекрасный форум.) В поиске решения не нашел.
Столкнулся я со следующей трудностью : есть массив из N элементов и массив из M элементов ,содержащий все значения первого массива (где M>N). Нужно их сравнить и получить массив из M элементов (нулей и единиц в местах совпадения значений елементов - все это в одной строке). Желательно с помощью формул, так как на освоение макросов пока нет времени да и большой необходимости.
Свои старания прикрепляю в файле.)

Автор - lom55
Дата добавления - 09.02.2014 в 13:26
Формуляр Дата: Воскресенье, 09.02.2014, 21:41 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Если цифры в ст-це 2 всегда совпадают с номером буквы, то вспомогательная таблица не нужна.
К сообщению приложен файл: 9906359.xls (42.0 Kb)


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеЕсли цифры в ст-це 2 всегда совпадают с номером буквы, то вспомогательная таблица не нужна.

Автор - Формуляр
Дата добавления - 09.02.2014 в 21:41
lom55 Дата: Воскресенье, 09.02.2014, 22:57 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

2010
Спасибо,что откликнулись!
Вторая таблица не спомагательная - она имеет свое назначение.) Числа в столбце "2" не совпадают. В оранжевых ячейках(они,как я сейчас вижу, более отвлекают ,нежели приносят пользы; вобщем, вся суть в зеленой ячейке) изначально было 2 массива : первая и вторая части столбца "Шифр". Одну из них нужно каким-то образом сравнить с целым столбцом "0" , получив при этом массив с нулей и единиц. Именно в сравнении возникла трудность.
Вижу, что своим описанием внутри файла все только запутал...) Описание проблемы в шапке темы - на то,что в файле не обращайте внимания.)


Сообщение отредактировал lom55 - Воскресенье, 09.02.2014, 23:06
 
Ответить
СообщениеСпасибо,что откликнулись!
Вторая таблица не спомагательная - она имеет свое назначение.) Числа в столбце "2" не совпадают. В оранжевых ячейках(они,как я сейчас вижу, более отвлекают ,нежели приносят пользы; вобщем, вся суть в зеленой ячейке) изначально было 2 массива : первая и вторая части столбца "Шифр". Одну из них нужно каким-то образом сравнить с целым столбцом "0" , получив при этом массив с нулей и единиц. Именно в сравнении возникла трудность.
Вижу, что своим описанием внутри файла все только запутал...) Описание проблемы в шапке темы - на то,что в файле не обращайте внимания.)

Автор - lom55
Дата добавления - 09.02.2014 в 22:57
Формуляр Дата: Понедельник, 10.02.2014, 13:51 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Нули и единички вывести вообще не проблема. Дальше-то с ними чего?
К сообщению приложен файл: 0377736.xls (40.5 Kb)


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеНули и единички вывести вообще не проблема. Дальше-то с ними чего?

Автор - Формуляр
Дата добавления - 10.02.2014 в 13:51
lom55 Дата: Понедельник, 10.02.2014, 21:38 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

2010
Совсем не тот компот.)
Вот собственно формула,если все на кучу слепить:
Код
=СУММ( (СМЕЩ($J$7;;;ПОИСКПОЗ($I$5;  $L$7:$L$15;-1)-1)  =  СМЕЩ($A$3;;;СЧЁТЗ($A$3:$A$15)) )  *  СМЕЩ($C$3;;;СЧЁТЗ($C$3:$C$15)) )
То есть, все действо должно происходить в одной ячейке.)
ПОИСКПОЗ ищет во второй таблице номер строки вхождения значения ,введенного в желтую ячейку(ближайшего меньшего) - назвем этот номер Х. Потом массив из Х-1 елементов нужно сравнить с массивом столбца "0",состоящим из Y элементов, получив при этом массив из Y элементов типа {0;1;1;0;0;0;0}, который в свою очередь без проблем умножается на массив столбца "2", после чего вычисляется сумма.
 
Ответить
СообщениеСовсем не тот компот.)
Вот собственно формула,если все на кучу слепить:
Код
=СУММ( (СМЕЩ($J$7;;;ПОИСКПОЗ($I$5;  $L$7:$L$15;-1)-1)  =  СМЕЩ($A$3;;;СЧЁТЗ($A$3:$A$15)) )  *  СМЕЩ($C$3;;;СЧЁТЗ($C$3:$C$15)) )
То есть, все действо должно происходить в одной ячейке.)
ПОИСКПОЗ ищет во второй таблице номер строки вхождения значения ,введенного в желтую ячейку(ближайшего меньшего) - назвем этот номер Х. Потом массив из Х-1 елементов нужно сравнить с массивом столбца "0",состоящим из Y элементов, получив при этом массив из Y элементов типа {0;1;1;0;0;0;0}, который в свою очередь без проблем умножается на массив столбца "2", после чего вычисляется сумма.

Автор - lom55
Дата добавления - 10.02.2014 в 21:38
lom55 Дата: Понедельник, 10.02.2014, 22:53 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

2010
Serge_007, правила читал; считал свои обьяснения, по крайней мере последнее, внятными.)
Я пытался наоборот обощить, но если нужна конкретика...Обновил файл,вобщем.)
К сообщению приложен файл: 5612615.xls (31.5 Kb)


Сообщение отредактировал lom55 - Вторник, 11.02.2014, 00:14
 
Ответить
СообщениеSerge_007, правила читал; считал свои обьяснения, по крайней мере последнее, внятными.)
Я пытался наоборот обощить, но если нужна конкретика...Обновил файл,вобщем.)

Автор - lom55
Дата добавления - 10.02.2014 в 22:53
Serge_007 Дата: Понедельник, 10.02.2014, 22:56 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
1. Вместо #ЗНАЧ! что должно получиться в М5 при К5 равным 97?
2. И почему?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение1. Вместо #ЗНАЧ! что должно получиться в М5 при К5 равным 97?
2. И почему?

Автор - Serge_007
Дата добавления - 10.02.2014 в 22:56
lom55 Дата: Понедельник, 10.02.2014, 23:20 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

2010
1) 36.
2) 97 попадает в слой "ИГЭ-5" - номер 3 во второй таблице. Он в расчет не берется.Над ним в этой же таблице находятся 2 слоя : "ИГЭ-2" и "ИГЭ-3" с весом 17 и 19 соответственно.
 
Ответить
Сообщение1) 36.
2) 97 попадает в слой "ИГЭ-5" - номер 3 во второй таблице. Он в расчет не берется.Над ним в этой же таблице находятся 2 слоя : "ИГЭ-2" и "ИГЭ-3" с весом 17 и 19 соответственно.

Автор - lom55
Дата добавления - 10.02.2014 в 23:20
AlexM Дата: Понедельник, 10.02.2014, 23:56 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Вариант с формулой массива
Код
=СУММ((A$3:A$15=ТРАНСП(ЕСЛИ(H$7:H$15<ПОИСКПОЗ(K$5;K$7:K$15;-1);I$7:I$15)))*B$3:B$15)
К сообщению приложен файл: 5612615_new.xls (35.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеВариант с формулой массива
Код
=СУММ((A$3:A$15=ТРАНСП(ЕСЛИ(H$7:H$15<ПОИСКПОЗ(K$5;K$7:K$15;-1);I$7:I$15)))*B$3:B$15)

Автор - AlexM
Дата добавления - 10.02.2014 в 23:56
Serge_007 Дата: Вторник, 11.02.2014, 00:17 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Алекс, а зачем ты долларов наставил? Формула ведь в одной ячейке будет

Ещё вариант:
Код
=СУММ((A3:A15=ТРАНСП(ЕСЛИ(ПОИСКПОЗ(;K5-K7:K15)>СТРОКА(1:10);I7:I15)))*B3:B15)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеАлекс, а зачем ты долларов наставил? Формула ведь в одной ячейке будет

Ещё вариант:
Код
=СУММ((A3:A15=ТРАНСП(ЕСЛИ(ПОИСКПОЗ(;K5-K7:K15)>СТРОКА(1:10);I7:I15)))*B3:B15)

Автор - Serge_007
Дата добавления - 11.02.2014 в 00:17
lom55 Дата: Вторник, 11.02.2014, 00:25 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

2010
Точно! Транспонировать же надо.)
Спасибо большое Вам и всем,кто пытался помочь.
 
Ответить
СообщениеТочно! Транспонировать же надо.)
Спасибо большое Вам и всем,кто пытался помочь.

Автор - lom55
Дата добавления - 11.02.2014 в 00:25
AlexM Дата: Вторник, 11.02.2014, 00:56 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
зачем ты долларов наставил

Когда файл отправил понял что $ лишние. Решил не исправлять.
Формула созданная совместными усилиями
Код
=СУММ((A3:A15=ТРАНСП(ЕСЛИ(H7:H15<ПОИСКПОЗ(;K5-K7:K15);I7:I15)))*B3:B15)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 11.02.2014, 01:22
 
Ответить
Сообщение
зачем ты долларов наставил

Когда файл отправил понял что $ лишние. Решил не исправлять.
Формула созданная совместными усилиями
Код
=СУММ((A3:A15=ТРАНСП(ЕСЛИ(H7:H15<ПОИСКПОЗ(;K5-K7:K15);I7:I15)))*B3:B15)

Автор - AlexM
Дата добавления - 11.02.2014 в 00:56
  • Страница 1 из 1
  • 1
Поиск:

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