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

Вход

Регистрация

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

 

= Мир MS Excel/подстановка зачений из спика с др.список (впр не хватает) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
подстановка зачений из спика с др.список (впр не хватает)
Надежда Дата: Среда, 16.04.2014, 15:56 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемые господа!
Вопрос следующий:
Есть два списка. В обоих списках есть повторяющиеся данные, но повторяются они разное количество раз. Необходимо в первый список подставлять значения из второго. но поочередно. Т.е. ищем первый раз значение и подставляем, тот параметр, который соответствует первому встречающемуся значению, затем второму и т.д. Пример прилагаю.

аналогичной задачи на форуме не нашла.
Очень прошу помочь мне.
К сообщению приложен файл: 3930784.xls (34.0 Kb)


Сообщение отредактировал Надежда - Среда, 16.04.2014, 15:58
 
Ответить
СообщениеУважаемые господа!
Вопрос следующий:
Есть два списка. В обоих списках есть повторяющиеся данные, но повторяются они разное количество раз. Необходимо в первый список подставлять значения из второго. но поочередно. Т.е. ищем первый раз значение и подставляем, тот параметр, который соответствует первому встречающемуся значению, затем второму и т.д. Пример прилагаю.

аналогичной задачи на форуме не нашла.
Очень прошу помочь мне.

Автор - Надежда
Дата добавления - 16.04.2014 в 15:56
Pelena Дата: Среда, 16.04.2014, 18:29 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19437
Репутация: 4572 ±
Замечаний: ±

Excel 365 & Mac Excel
Как вариант, формула массива
Код
=ЕСЛИ(СЧЁТЕСЛИ($E$9:E9;E9)>СЧЁТЕСЛИ($I$9:I9;E9);"нет";ИНДЕКС($J$9:$J$17;НАИМЕНЬШИЙ(ЕСЛИ(E9=$I$9:$I$17;СТРОКА($E$9:$E$17)-8);СЧЁТЕСЛИ($I$9:I9;E9))))
К сообщению приложен файл: 7658336.xls (25.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеКак вариант, формула массива
Код
=ЕСЛИ(СЧЁТЕСЛИ($E$9:E9;E9)>СЧЁТЕСЛИ($I$9:I9;E9);"нет";ИНДЕКС($J$9:$J$17;НАИМЕНЬШИЙ(ЕСЛИ(E9=$I$9:$I$17;СТРОКА($E$9:$E$17)-8);СЧЁТЕСЛИ($I$9:I9;E9))))

Автор - Pelena
Дата добавления - 16.04.2014 в 18:29
Hugo Дата: Среда, 16.04.2014, 18:49 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3743
Репутация: 797 ±
Замечаний: 0% ±

365
UDF кажись попрще будет:
[vba]
Код
Function snadezdoi(cto, scem)
      Dim i&, ii&
      cto = cto.Value
      scem = scem.Value
      ReDim out(1 To UBound(cto), 1 To 1)
      Do
          i = i + 1
          out(i, 1) = "нет"
          For ii = 1 To UBound(scem)
              If scem(ii, 1) = cto(i, 1) Then
                  out(i, 1) = scem(i, 2)
                  scem(i, 1) = Empty
                  scem(i, 2) = Empty
                  Exit For
              End If
          Next
      Loop While i < UBound(cto)
      snadezdoi = out
End Function
[/vba]
На лист сразу в диапазон как формулу массива:
Код
=snadezdoi(E9:E17,I9:J17)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеUDF кажись попрще будет:
[vba]
Код
Function snadezdoi(cto, scem)
      Dim i&, ii&
      cto = cto.Value
      scem = scem.Value
      ReDim out(1 To UBound(cto), 1 To 1)
      Do
          i = i + 1
          out(i, 1) = "нет"
          For ii = 1 To UBound(scem)
              If scem(ii, 1) = cto(i, 1) Then
                  out(i, 1) = scem(i, 2)
                  scem(i, 1) = Empty
                  scem(i, 2) = Empty
                  Exit For
              End If
          Next
      Loop While i < UBound(cto)
      snadezdoi = out
End Function
[/vba]
На лист сразу в диапазон как формулу массива:
Код
=snadezdoi(E9:E17,I9:J17)

Автор - Hugo
Дата добавления - 16.04.2014 в 18:49
  • Страница 1 из 1
  • 1
Поиск:

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