Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.11.2007, 15:54   #1
*Иван*
 
Регистрация: 18.11.2007
Сообщений: 6
По умолчанию Выбрать из двух массивов совпадение.

Нужно найти в двух массивах одно совпадение и вывести это совпадение.
Подскажите как.




Как спрятать #Н/Д? чтобы видно небыло или вместо н/Д - 0

Последний раз редактировалось *Иван*; 19.11.2007 в 21:08.
*Иван* вне форума
Старый 19.11.2007, 22:48   #2
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

1. В данном конкретном случае, для решении поставленной задачи, можно воспользоваться следующей формулой :

{=ИНДЕКС(D1:D7;ПОИСКПОЗ(ИСТИНА;СЧЁТ ЕСЛИ(A1:A7;D1:D7)>0;0))}

Обратите внимание на то, что :
- вышеопубликованная формула является формулой массива, а это значит, что после её ввода (без фигурных скобок) необходимо нажать клавиши CTRL+SHIFT+ENTER
- для получения ожидаемого результат необходимо, чтобы диапазоны содержали хотя бы одно "общее" значение, в противном случае, эта формула должна возвратить значение ошибки.

2. Ответ на второй вопрос Вы можете найти здесь.
pashulka вне форума
Старый 20.11.2007, 11:02   #3
Natusya
 
Регистрация: 20.11.2007
Сообщений: 8
По умолчанию

А если так, будет проще, не используя формулу массива: к примеру ЕСЛИ(А1=D1;А1;0). Потом скопировать на весь диапазон значений.

Последний раз редактировалось Natusya; 20.11.2007 в 11:07.
Natusya вне форума
Старый 20.11.2007, 20:36   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Совершенно очевидно, что так называемое "простое решение" не является ни простым, ни решением, ибо :
- во-первых, наличие дополнительных ячеек, содержащих формулы, не есть благо и это надо чётко понимать
- во-вторых, в дополнении к этим вспомогательным формулам, необходимо будет добавить ещё и результирующую формулу
- в третьих, он не предназначен для сравнения массивов, ибо наличествует довольно банальное сравнение двух значений (проще говоря, если значение, которое наличествует в обоих массивах, будет располагаться хотя бы строкой выше/ниже, то мы вообще не получим нужного результата)
- в четвёртых, в формулах массива нет ничего сложного, но если подобная формула кого-то пугает, то можно следать следующее :
выделить результирующую ячейку, затем в меню Вставка выбрать пункт Имя и команду Присвоить, затем в появившемся стандартном диалоговом окне в поле Имя: ввести имя формулы, например, Повтор, затем в поле Формула: ввести нужную формулу (учитывая все особенности) и нажать кнопку Ok. После чего, вместо первоначальной формулы, достаточно просто ввести =Повтор
pashulka вне форума
Старый 22.11.2007, 06:23   #5
*Иван*
 
Регистрация: 18.11.2007
Сообщений: 6
По умолчанию

Спасибо за ответ, Все заработало.
Для информации вот на другом форуме вариант еще предложили.
Вложения
Тип файла: zip МАсивы.zip (1.9 Кб, 32 просмотров)
*Иван* вне форума
Старый 22.11.2007, 10:11   #6
*Иван*
 
Регистрация: 18.11.2007
Сообщений: 6
По умолчанию

Задача: если находит к примеру в данном случае в столбцах ACD строка №3 = ACD строке №7, то истина в противном случае ложь.
В столбце А будут – цифры от 1 до 50 в хаотичном порядке и могут повторятся.
В столбце С – цифры от 1 до 4 в хаотичном порядке и тоже могут повторятся.
И в D – слова только, Пн, и Вт.

Примерно так наверное
=ЕСЛИ(И(A3=A7, C3=C7, D3=D7);1;0) Как поиск и масивы прописать.

*Иван* вне форума
Старый 22.11.2007, 20:45   #7
Alkaline
Пользователь
 
Регистрация: 22.11.2007
Сообщений: 79
По умолчанию

Ты сейчас с кем говорил? "8-/

Вообще непонятно, где вопрос, где утверждение, что нужно...


Если нужно сравнивать N ячеек одной строки соответственно с N ячеек другой строки, то зачастую проще "слить" построчно значения (с разделителем), скажем, в столбец E (тогда строчка 2 может быть представлена в ячейке E2 как "48/4/Вт"), а в нем уже организовать поиск одинаковых по значению ячеек.
Alkaline вне форума
Старый 22.11.2007, 21:10   #8
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Иван, Для решения поставленной задачи можно использовать нижеопубликованную формулу :

=СУММПРОИЗВ(ПОИСКПОЗ(A1:A11&C1:C11& D1:D11;A1:A11&C1:C11&D1:D11;0)-СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(A1:A11))) )<>0
pashulka вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из двух заданных массивов В и С одинаковой длины построить новый массив Absent Помощь студентам 4 11.03.2008 21:38
Совпадение названий программ mutabor Свободное общение 3 25.10.2007 19:40
одномерный массив, элементы которого собраны в возрастающем порядке из двух начальных массивов Scudetto Общие вопросы C/C++ 7 21.10.2007 20:46
как из двух отсортированных по возрастанию одномерных массивов сформировать третий Тоха Рыжов Общие вопросы C/C++ 1 07.10.2007 01:43
необходимо сравнить массив С1-С50 на совпадение в массиве А1-А267 Бэн ай нид хелп Microsoft Office Excel 1 10.09.2007 20:10