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

Вход

Регистрация

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

 

= Мир MS Excel/Возвращение ИНДЕКС массивов - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин  
Мир MS Excel » Работа и общение » Мозговой штурм » Возвращение ИНДЕКС массивов
Возвращение ИНДЕКС массивов
ZORRO2005 Дата: Четверг, 07.06.2012, 16:53 | Сообщение № 1
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
Друзья, очень заинтересовала тема на 3 странице про возвращение ИНДЕКС массивов.
Quote (MCH)
PPS: и то что ВПР можно заставить массив возвращать - это тоже большой плюс

Никак не могу заставить ВПР() вытащить данные из нескольких столбцов и строк. Получается либо из строк либо из столбцов.
К сообщению приложен файл: 1511729.xls (25.0 Kb)
 
Ответить
СообщениеДрузья, очень заинтересовала тема на 3 странице про возвращение ИНДЕКС массивов.
Quote (MCH)
PPS: и то что ВПР можно заставить массив возвращать - это тоже большой плюс

Никак не могу заставить ВПР() вытащить данные из нескольких столбцов и строк. Получается либо из строк либо из столбцов.

Автор - ZORRO2005
Дата добавления - 07.06.2012 в 16:53
MCH Дата: Четверг, 07.06.2012, 17:03 | Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Quote (ZORRO2005)
Никак не могу заставить ВПР()

Сергей, нужно именно ВПР использовать
Либо можно альтернативные варианты: СУММПРОИЗВ, ИНДЕКС(ПОИСКПОЗ), СМЕЩ и др

---
через ИНДЕКС можно так:
Code
=СУММ(ИНДЕКС(B2:E7;Ч(ИНДЕКС(ПОИСКПОЗ(G2:G4;A2:A7;);));Ч(ИНДЕКС({2;4};))))

что удивительно, массивный ввод не требуется


Сообщение отредактировал MCH - Четверг, 07.06.2012, 17:18
 
Ответить
Сообщение
Quote (ZORRO2005)
Никак не могу заставить ВПР()

Сергей, нужно именно ВПР использовать
Либо можно альтернативные варианты: СУММПРОИЗВ, ИНДЕКС(ПОИСКПОЗ), СМЕЩ и др

---
через ИНДЕКС можно так:
Code
=СУММ(ИНДЕКС(B2:E7;Ч(ИНДЕКС(ПОИСКПОЗ(G2:G4;A2:A7;);));Ч(ИНДЕКС({2;4};))))

что удивительно, массивный ввод не требуется

Автор - MCH
Дата добавления - 07.06.2012 в 17:03
ZORRO2005 Дата: Четверг, 07.06.2012, 17:21 | Сообщение № 3
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
Quote (MCH)
Сергей, нужно именно ВПР использовать Либо можно альтернативные варианты: СУММПРОИЗВ, ИНДЕКС(ПОИСКПОЗ), СМЕЩ и др

Именно ВПР().
Quote (ZORRO2005)
Никак не могу заставить ВПР() вытащить данные из нескольких столбцов и строк. Получается либо из строк либо из столбцов.

Без ВПР есть решение в 74 знака.
 
Ответить
Сообщение
Quote (MCH)
Сергей, нужно именно ВПР использовать Либо можно альтернативные варианты: СУММПРОИЗВ, ИНДЕКС(ПОИСКПОЗ), СМЕЩ и др

Именно ВПР().
Quote (ZORRO2005)
Никак не могу заставить ВПР() вытащить данные из нескольких столбцов и строк. Получается либо из строк либо из столбцов.

Без ВПР есть решение в 74 знака.

Автор - ZORRO2005
Дата добавления - 07.06.2012 в 17:21
MCH Дата: Четверг, 07.06.2012, 17:26 | Сообщение № 4
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Quote (ZORRO2005)
Без ВПР есть решение в 74 знака

Моя формула с ИНДЕКС в предыдущем посте - 73 smile
А со СМЕЩ и СУММ/СУММПРОИЗВ можно еще короче - 47/53 :
Code
=СУММ(Ч(СМЕЩ(A1;ПОИСКПОЗ(G2:G4;A2:A7;);{2;4})))


Что то не получается ВПР заставить двухмерный массив возвращать, а вот с ИНДЕКСом получилось


Сообщение отредактировал MCH - Четверг, 07.06.2012, 19:15
 
Ответить
Сообщение
Quote (ZORRO2005)
Без ВПР есть решение в 74 знака

Моя формула с ИНДЕКС в предыдущем посте - 73 smile
А со СМЕЩ и СУММ/СУММПРОИЗВ можно еще короче - 47/53 :
Code
=СУММ(Ч(СМЕЩ(A1;ПОИСКПОЗ(G2:G4;A2:A7;);{2;4})))


Что то не получается ВПР заставить двухмерный массив возвращать, а вот с ИНДЕКСом получилось

Автор - MCH
Дата добавления - 07.06.2012 в 17:26
ZORRO2005 Дата: Четверг, 07.06.2012, 18:06 | Сообщение № 5
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
МСН,
я верну твою формулу:
Code
=СУММ(ИНДЕКС(B2:E7;Ч(ИНДЕКС(ПОИСКПОЗ(G2:G4;A2:A7;);));Ч(ИНДЕКС({2;4};))))

т.к. она демонстрирует как ИНДЕКС возвращает двухмерный массив
у меня без СМЕЩ()
Code
=СУММ(B2:E7*СЧЁТЕСЛИ(G2:G4;A2:A7)*((СТОЛБЕЦ(B2:E7)=3)+(СТОЛБЕЦ(B2:E7)=5)))

никак не получается упростить
Code
=((СТОЛБЕЦ(B2:E7)=3)+(СТОЛБЕЦ(B2:E7)=5))
 
Ответить
СообщениеМСН,
я верну твою формулу:
Code
=СУММ(ИНДЕКС(B2:E7;Ч(ИНДЕКС(ПОИСКПОЗ(G2:G4;A2:A7;);));Ч(ИНДЕКС({2;4};))))

т.к. она демонстрирует как ИНДЕКС возвращает двухмерный массив
у меня без СМЕЩ()
Code
=СУММ(B2:E7*СЧЁТЕСЛИ(G2:G4;A2:A7)*((СТОЛБЕЦ(B2:E7)=3)+(СТОЛБЕЦ(B2:E7)=5)))

никак не получается упростить
Code
=((СТОЛБЕЦ(B2:E7)=3)+(СТОЛБЕЦ(B2:E7)=5))

Автор - ZORRO2005
Дата добавления - 07.06.2012 в 18:06
ВладимирG Дата: Четверг, 07.06.2012, 18:19 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

2007
Вот так можно слека сократить:

ОСТАТ(СТОЛБЕЦ(B1:E1);2)
 
Ответить
СообщениеВот так можно слека сократить:

ОСТАТ(СТОЛБЕЦ(B1:E1);2)

Автор - ВладимирG
Дата добавления - 07.06.2012 в 18:19
ВладимирG Дата: Четверг, 07.06.2012, 18:22 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

2007
Я вставил вторую фамилию "Медведев". Формула ZORRO2005, её захватывает. Другие формулы, к сожалению, нет.
 
Ответить
СообщениеЯ вставил вторую фамилию "Медведев". Формула ZORRO2005, её захватывает. Другие формулы, к сожалению, нет.

Автор - ВладимирG
Дата добавления - 07.06.2012 в 18:22
ZORRO2005 Дата: Четверг, 07.06.2012, 18:34 | Сообщение № 8
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
Quote (ВладимирG)
Вот так можно слека сократить: ОСТАТ(СТОЛБЕЦ(B1:E1);2)

Хотелось бы решение для конкретно выбранных столбцов(могут быть столбцы 3,4,5), а не только нечётных.
Например:
Code
=-(ЕНД(ПОИСКПОЗ(СТОЛБЕЦ(B1:E1);{3;5};))-1)


Сообщение отредактировал ZORRO2005 - Четверг, 07.06.2012, 18:36
 
Ответить
Сообщение
Quote (ВладимирG)
Вот так можно слека сократить: ОСТАТ(СТОЛБЕЦ(B1:E1);2)

Хотелось бы решение для конкретно выбранных столбцов(могут быть столбцы 3,4,5), а не только нечётных.
Например:
Code
=-(ЕНД(ПОИСКПОЗ(СТОЛБЕЦ(B1:E1);{3;5};))-1)

Автор - ZORRO2005
Дата добавления - 07.06.2012 в 18:34
RAN Дата: Четверг, 07.06.2012, 21:45 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А по макросам никто задачек не подкидывает. tongue


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА по макросам никто задачек не подкидывает. tongue

Автор - RAN
Дата добавления - 07.06.2012 в 21:45
kim Дата: Четверг, 07.06.2012, 21:57 | Сообщение № 10
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
Quote (RAN)
А по макросам никто задачек не подкидывает.

Я могу накидать их сколько угодно, да только боюсь они уже давно решены или будут неинтересны с точки зрения писателя кода smile


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
Сообщение
Quote (RAN)
А по макросам никто задачек не подкидывает.

Я могу накидать их сколько угодно, да только боюсь они уже давно решены или будут неинтересны с точки зрения писателя кода smile

Автор - kim
Дата добавления - 07.06.2012 в 21:57
RAN Дата: Четверг, 07.06.2012, 22:03 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Serge_007, ты мне подкинул - я тебе надстройку нарисовал!
Подкинул бы здесь - здесь бы и получил!

Игорь, все эти формулы скорее всего тоже где-то уже давно существуют!


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Четверг, 07.06.2012, 22:07
 
Ответить
Сообщение Serge_007, ты мне подкинул - я тебе надстройку нарисовал!
Подкинул бы здесь - здесь бы и получил!

Игорь, все эти формулы скорее всего тоже где-то уже давно существуют!

Автор - RAN
Дата добавления - 07.06.2012 в 22:03
kim Дата: Четверг, 07.06.2012, 22:14 | Сообщение № 12
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
Quote (RAN)
Игорь, все эти формулы скорее всего тоже где-то уже давно существуют!

Дело ведь не в существовании где-то, когда-то подобных алгоритмов, а в акцентировании внимания на самых интересных.


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
Сообщение
Quote (RAN)
Игорь, все эти формулы скорее всего тоже где-то уже давно существуют!

Дело ведь не в существовании где-то, когда-то подобных алгоритмов, а в акцентировании внимания на самых интересных.

Автор - kim
Дата добавления - 07.06.2012 в 22:14
Serge_007 Дата: Четверг, 07.06.2012, 22:14 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (RAN)
ты мне подкинул - я тебе надстройку нарисовал!
Подкинул бы здесь - здесь бы и получил!

Нарисовать надстройку - это не уникальный случай (хотя спасибо, работает как надо!).
Здесь суть - именно уникальность. Решить задачу так, как её никто не решал.

ЗЫ Если ты вместо сотни строк кода сможешь предложить аналогичное решение но в десяток строк - вот это и требуется smile
Тоже и с формулами


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (RAN)
ты мне подкинул - я тебе надстройку нарисовал!
Подкинул бы здесь - здесь бы и получил!

Нарисовать надстройку - это не уникальный случай (хотя спасибо, работает как надо!).
Здесь суть - именно уникальность. Решить задачу так, как её никто не решал.

ЗЫ Если ты вместо сотни строк кода сможешь предложить аналогичное решение но в десяток строк - вот это и требуется smile
Тоже и с формулами

Автор - Serge_007
Дата добавления - 07.06.2012 в 22:14
RAN Дата: Четверг, 07.06.2012, 22:21 | Сообщение № 14
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А нешто я спорю???? cool


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА нешто я спорю???? cool

Автор - RAN
Дата добавления - 07.06.2012 в 22:21
RAN Дата: Четверг, 07.06.2012, 23:40 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Code
11111111111111111111111111111111111111111111111
11111111111111111111111111111111
11111111111111111111111111111111111111   
    111111111111111111  1111111111111111111111  11111111111111111111111
1111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111
[/vba]

Error 2015 biggrin :D


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Пятница, 08.06.2012, 13:36
 
Ответить
Сообщение[vba]
Code
11111111111111111111111111111111111111111111111
11111111111111111111111111111111
11111111111111111111111111111111111111   
    111111111111111111  1111111111111111111111  11111111111111111111111
1111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111
[/vba]

Error 2015 biggrin :D

Автор - RAN
Дата добавления - 07.06.2012 в 23:40
MCH Дата: Пятница, 08.06.2012, 08:32 | Сообщение № 16
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Quote (ZORRO2005)
никак не получается упростить
Формула:
=((СТОЛБЕЦ(B2:E7)=3)+(СТОЛБЕЦ(B2:E7)=5))

Code
=СУММ(СЧЁТЕСЛИ(G2:G4;A2:A7)*МУМНОЖ({1;1};--(СТОЛБЕЦ(B:E)={3:5}))*B2:E7)

с ВПР можно так:
Code
=СУММ(ВПР(Т(ИНДЕКС(G2:G4&"";));A2:E7;3;)+ВПР(Т(ИНДЕКС(G2:G4&"";));A2:E7;5;))

к тому же массивный вод не требуется
К сообщению приложен файл: 3854453.xls (26.5 Kb)
 
Ответить
Сообщение
Quote (ZORRO2005)
никак не получается упростить
Формула:
=((СТОЛБЕЦ(B2:E7)=3)+(СТОЛБЕЦ(B2:E7)=5))

Code
=СУММ(СЧЁТЕСЛИ(G2:G4;A2:A7)*МУМНОЖ({1;1};--(СТОЛБЕЦ(B:E)={3:5}))*B2:E7)

с ВПР можно так:
Code
=СУММ(ВПР(Т(ИНДЕКС(G2:G4&"";));A2:E7;3;)+ВПР(Т(ИНДЕКС(G2:G4&"";));A2:E7;5;))

к тому же массивный вод не требуется

Автор - MCH
Дата добавления - 08.06.2012 в 08:32
ZORRO2005 Дата: Пятница, 08.06.2012, 12:52 | Сообщение № 17
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
MCH,
Code
МУМНОЖ({1;1};--(СТОЛБЕЦ(B:E)={3:5}))
-это и хотел сделать,
но не получалось т.к. у меня было
Code
СТОЛБЕЦ(B:E)={3;5}

За
Code
ВПР(Т(ИНДЕКС(G2:G4&"";));A2:E7;3;)
отдельное спасибо.
Надо было догадаться добавить T() и &"".
 
Ответить
СообщениеMCH,
Code
МУМНОЖ({1;1};--(СТОЛБЕЦ(B:E)={3:5}))
-это и хотел сделать,
но не получалось т.к. у меня было
Code
СТОЛБЕЦ(B:E)={3;5}

За
Code
ВПР(Т(ИНДЕКС(G2:G4&"";));A2:E7;3;)
отдельное спасибо.
Надо было догадаться добавить T() и &"".

Автор - ZORRO2005
Дата добавления - 08.06.2012 в 12:52
MCH Дата: Пятница, 08.06.2012, 13:08 | Сообщение № 18
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Цитата ZORRO2005
За
Формула:
Код
=ВПР(Т(ИНДЕКС(G2:G4&"";));A2:E7;3;)

отдельное спасибо.

Нужно kim'у спасибо сказать, за хорошую идею
 
Ответить
Сообщение
Цитата ZORRO2005
За
Формула:
Код
=ВПР(Т(ИНДЕКС(G2:G4&"";));A2:E7;3;)

отдельное спасибо.

Нужно kim'у спасибо сказать, за хорошую идею

Автор - MCH
Дата добавления - 08.06.2012 в 13:08
magnick Дата: Четверг, 10.04.2014, 22:17 | Сообщение № 19
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Уважаемые форумчане, а пробовал кто-нить скрестить "сцепить" и " т(индекс")?
Пробовал так:
Код
=сцепить(т(индекс(A1:A3&"";)))

Код
=сцепить(т(индекс(A1:A3&;)))

Не работает.
Может у кого получалось?
 
Ответить
СообщениеУважаемые форумчане, а пробовал кто-нить скрестить "сцепить" и " т(индекс")?
Пробовал так:
Код
=сцепить(т(индекс(A1:A3&"";)))

Код
=сцепить(т(индекс(A1:A3&;)))

Не работает.
Может у кого получалось?

Автор - magnick
Дата добавления - 10.04.2014 в 22:17
Serge_007 Дата: Суббота, 12.04.2014, 02:24 | Сообщение № 20
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Не работает
И не будет
СЦЕПИТЬ() не работает с массивами


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Не работает
И не будет
СЦЕПИТЬ() не работает с массивами

Автор - Serge_007
Дата добавления - 12.04.2014 в 02:24
Мир MS Excel » Работа и общение » Мозговой штурм » Возвращение ИНДЕКС массивов
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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