Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Поиск средней цены по условию, Поиск средней цены по условию
 
Великолепно, Маэстро!) Очень Вам признателен!
Я думал, что это - на грани невозможного)
Спасибо огромнейшее!
Поиск средней цены по условию, Поиск средней цены по условию
 
Добрый день!
Прошу вашей помощи в создании формулы массива.
Эксель 2007
Файл для примера прикладываю.
На разных складах разное количество товара по разным закупочным ценам.
Мне нужно найти среднюю цену за штуку, учитывая количества с разными ценами.
В последнем столбце, выделенным зеленым, я отразил правильные значения.
Колонки, выделенные розовым - не нужны, я их отразил вам для примера.

То есть, берем один товар, чтобы получить нужное значение: нужно перемножить сначала количества и цену по каждому складу, суммировать полученные цены и разделить на общее количество товара.

Заранее благодарен за помощь!
Изменено: Olegas - 07.01.2026 20:42:27
Замена значений в макросе, Замена значений в макросе
 
Есть еще вот такие замены, но они не подходят для #Н/Д (так как #Н/Д - это ошибка), но подходят для других примеров, к примеру, можно заменить #НД на НИЧЕГО:

1) <Range("J:M").Replace "#НД", "", 2>

2) <Range("J:M").Replace What:="#НД", Replacement:="", LookAt:=2>

3) <If Range("J:M").Replace("#НД", "", 2) Then>
<End If>

4) <Dim a>
<a = Range("J:M").Replace("#НД", "", 2)>

Символы < > уберите



Плохо, что в интернете очень долго и сложно найти подходящие примеры.
Был бы готовый банк примеров отрывков из макроса.
Замена значений в макросе, Замена значений в макросе
 
Нашел)) и скорректировал. Может, кому пригодится. Только символы < > удалите))

<Sub Макрос4()>
<Dim errRn As Range>
   <For Each ccell In Range("J:M")>
       <If IsError(ccell) Then>
           <If errRn Is Nothing Then>
               <Set errRn = ccell>
           <Else>
               <Set errRn = Union(errRn, ccell)>
           <End If>
       <End If>
   <Next ccell>
   <If Not errRn Is Nothing Then>
       <'Значение для замены>
       <errRn.Value = "">
   <End If>
<End Sub>
Изменено: Olegas - 07.01.2026 18:17:29
Замена значений в макросе, Замена значений в макросе
 
Добрый день, друзья!
Эксель 2007
Подскажите, пожалуйста, код макроса, который бы в столбцах J:M заменил значение ячейки #Н/Д (ошибка ранее заменена значениями) на ничего.
Ранее я применял формулу <"=IFERROR(VLOOKUP(RC[-9],Лист1!C[-11]:C[-5],7,0),"""")">, но последующая формула не видит пустую ячейку (как будто в пустой ячейке не пусто), поэтому, думаю, проще будет с режимом замены.
Спасибо!)
Изменено: Olegas - 07.01.2026 17:43:04
Применение InputBox в макросе с применением формулы, Применение InputBox в макросе с применением формулы
 
Я нашел немного другой способ:

   Range("N10").Select
   With ActiveSheet.UsedRange
   lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
   End With
   Dim userInput As Double
   userInput = Application.InputBox("Введите число:", Type:=1)
   Range("N7").Value = userInput
   Range("N10:N" & lLastRow).FormulaR1C1 = "=IF(RC[-1]>0,RC[-1]/R7C14,RC[-8])"
   Range("N10").Select

Я поместил введенное значение в N7, а в формуле сделал ссылку на эту ячейку.
Применение InputBox в макросе с применением формулы, Применение InputBox в макросе с применением формулы
 
Лишние кавычки убрал, прописал так:
Range("N10:N" & lLastRow).FormulaR1C1 = "=IF(RC[-1]>0,RC[-1]/" & userInput & ",RC[-8])"
Он эту строчку желтым выделяет, ошибка где-то
Применение InputBox в макросе с применением формулы, Применение InputBox в макросе с применением формулы
 
Цитата
написал:
Range("N10:N" & lLastRow).FormulaR1C1 = "=IF(RC[-1]>0,RC[-1]/" & "userInput &",RC[-8])"
Не работает
" & "userInput &"
ошибка где-то
Применение InputBox в макросе с применением формулы, Применение InputBox в макросе с применением формулы
 
Сделал вот так:
   Range("N10").Select
   With ActiveSheet.UsedRange
   lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
   End With
   Dim userInput As Variant
   userInput = Application.InputBox("Введите число:", Type:=1)
   Range("N10:N" & lLastRow).FormulaR1C1 = "=IF(RC[-1]>0,RC[-1]/userInput,RC[-8])"
   Range("N10").Select

Автозаполнение проходит успешно, формула применяется соответственно, но в ячейках #ИМЯ? (=ЕСЛИ(M10>0;M10/userInput;F10))
0,9 не ввелось
Изменено: Olegas - 07.01.2026 00:24:23
Применение InputBox в макросе с применением формулы, Применение InputBox в макросе с применением формулы
 
Доброго всем времени суток!
Ребята, нужна подсказка:
Эксель 2007
Есть формула =ЕСЛИ(M10>0;M10/0,9;F10), где 0,9 - величина меняющаяся, которая бы регулировалась через InputBox
Она же в макросе выглядит так: "=IF(RC[-1]>0,RC[-1]/0.9,RC[-8])"
Когда макрос доходит до этой формулы, то на экран выводится InputBox для ввода величины 0,9 или какого-либо другого значения, а после ввода величины применялась формула до последней ячейки.
Подскажите, пожалуйста, кусок кода макроса, если вам не сложно...
Спасибо!
Изменено: Olegas - 07.01.2026 00:54:20
Автозаполнение данных в макросе с применением массивной формулы, Автозаполнение данных в макросе с применением массивной формулы
 
Прошу прощения...Вы всё точно мне подсказали, формула пригодилась, всё сработало. Спасибо Вам огромное, очень признателен!
Но пока я ждал ответа - сам нашел ответы на свои вновь возникшие вопросы) поэтому и удалил вопрос, подумал, что, возможно, еще не успели прочитать.
Я над этими формулами сегодня часов 5 сижу гоняю макросы)
Всё получилось.
Приложенная мною таблица - это одна часть большого процесса.
Назначенная мной переменная lLastRow вконтексте Dim lLastRow As Long, в этом случае, работала с 42 строками, а далее, по макросу, мне нужно было работать с бОльшим количеством строк, и, Dim lLastRow As Long применить не получалось. Потом до меня дошло, что lLastRow - это название переменной. И я решил ввести новую переменную lLastKey для работы с бОльшим количеством строк. Аналогичный код макроса, но уже с переменной lLastKey, позволили мне автоматически заполнить другой большой список.
Может быть, с этим столкнётся другой новичок, такой же, как я, и эта информация для него будет полезна...
Автозаполнение данных в макросе с применением массивной формулы, Автозаполнение данных в макросе с применением массивной формулы
 
Получилось. Спасибо большое!)
Изменено: Olegas - 06.01.2026 20:58:34
Автозаполнение данных в макросе с применением массивной формулы, Автозаполнение данных в макросе с применением массивной формулы
 
Добрый день!
Эксель 2007.
В колонке E2 применил массивную формулу =МИН(ЕСЛИ($A$2:$A$42=A2;$D$2:$D$42)). Но через макрос она не работает
Автозаполнение, при этом, проходит успешно. A2 (она же - RC[-4]) не меняется.
Подскажите, пожалуйста, в чем может быть ошибка.
Заранее благодарен за помощь!

Sub Макрос10()
   Range("E2").Select
   Dim lLastRow As Long
   With ActiveSheet.UsedRange
   lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
   Range("E2:E" & lLastRow).FormulaArray = "=MIN(IF(R2C1:R42C1=RC[-4],R2C4:R42C4))"
   Application.Calculation = xlAutomatic
   End With
End Sub
Изменено: Olegas - 06.01.2026 19:24:11
Разделение текста формулами, Разделение текста формулами
 
Отлично, всё сработало!) Спасибо огромное!!!))
Разделение текста формулами, Разделение текста формулами
 
Версия 2007 года
Разделение текста формулами, Разделение текста формулами
 
Прикладываю))
Я просто подумал, что это не обязательно)
Разделение текста формулами, Разделение текста формулами
 
Добрый день, товарищи-профессионалы Экселя! Нужна ваша помощь)
Подскажите, пожалуйста:
Есть 2 текста:
В ячейке A2: МС1568 Винт с шайбой
В ячейке A3: МС2768
Изобрёл 2 формулы в двух колонках B2 и C2 соответственно:
=ЛЕВСИМВ(A2;ПОИСК(" ";A2)-1) эта формула оставляет артикул, удаляя наименование
=ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(" ";A2;ПОИСК(" ";A2))) эта формула оставляет наименование, удаляя артикул
Но, при наличии артикула без наименования (как в ячейке A3), формула не помогает - выводится #ЗНАЧ!
Тут, наверное, нужно еще вначале условие ЕСЛИ применить. Но как применить - я не знаю.
Нужны ваши советы, ребята)
Изменено: Olegas - 06.01.2026 16:20:48
Поиск наименьшей цены по условию, Поиск наименьшей цены по условию
 
Огромнейшее спасибо!)
Очень признателен за оказанную помощь!)
Поиск наименьшей цены по условию, Поиск наименьшей цены по условию
 
А если у меня Эксель 2007?) ...и формулы такие не срабатывают...
Поиск наименьшей цены по условию, Поиск наименьшей цены по условию
 
Павел, у меня есть еще одна задачка)
Есть товары списком. На каждом складе своя цена. Нужно массово формулой проставить минимальную цену в отдельном столбце.
Можешь помочь?)
Список в этом сообщении
Поиск наименьшей цены по условию, Поиск наименьшей цены по условию
 
Получилось)) забыл нажать контрл+шифт+интер
Спасибо огромное, Павел!)
Изменено: Olegas - 05.01.2026 16:20:05
Поиск наименьшей цены по условию, Поиск наименьшей цены по условию
 
Добрый день!
Подскажите, пожалуйста, формулу в прикрепленном файле.
Есть 4 поставщика товаров. Товары есть оригинальные и аналоги.
Если у нас (мы - второй зеленый поставщик) оригинал, то нужно найти наименьшую сумму у конкурентов среди оригиналов и отразить её в последней колонке. Если у нас аналог, то нужно найти наименьшую сумму у конкурентов среди аналогов и отразить её в последней колонке.
Заранее благодарен за помощь!
Изменено: Olegas - 05.01.2026 14:07:30
[ Закрыто] Поиск формулы, Сложная формула
 
Здравствуйте, уважаемые форумчане.
Очень требуется ваша помощь, от которой зависит судьба человечества)) реально, это в какой-то мере поможет людям жить лучше)
Нужна такая формула:
Если в столбце А есть такое же значение, как в ячейке А2
И
Если в столбце В есть такое же значение, как в ячейке В2
И
Если в столбце С есть такое же значение, как в ячейке С2
И
Если в столбце D дата заполнена И она больше, чем в столбце С, то это ИСТИНА
Страницы: 1
Наверх