Подбор суммы из диапазона чисел, (Доработка документа)
Пользователь
Сообщений: Регистрация: 18.02.2020
25.02.2025 14:53:01
Если честно, я не понимаю как работает формула. Из того что я вижу, увеличить можно меняя в Е1 синхронно количество столбцов в СТОЛБЕЦ(C:S) и ячеек в Ч(+C1:C17). Например (СТОЛБЕЦ(C:T)-3));2);Ч(+C1:C18) СТОЛБЕЦ(C:U)-3));2);Ч(+C1:C19)
и т.д.
Подбор суммы из диапазона чисел, (Доработка документа)
Пользователь
Сообщений: Регистрация: 18.02.2020
25.02.2025 14:14:57
Добрый день.
Так подойдет?
Изменено: - 25.02.2025 14:18:50
Создать все варианты предложений из трех колонок слов
Пользователь
Сообщений: Регистрация: 18.02.2020
22.05.2024 15:56:51
Если с макросом подойдет, то вот.
Sub AllVariants() lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row currRow = 1 For i = 1 To lastRow For j = 1 To lastRow For k = 1 To lastRow ActiveSheet.Cells(currRow, 4) = ActiveSheet.Cells(i, 1) & ActiveSheet.Cells(j, 2) & ActiveSheet.Cells(k, 3) currRow = currRow + 1 Next k Next j Next i End Sub
Скрытие строк по условию, Скрытие строк по условию в выделенном диапазоне
Пользователь
Сообщений: Регистрация: 18.02.2020
22.05.2024 15:29:17
Код
Sub HideEmptyCellInRanges()
Dim i As Long
Dim RowRange As Range, cell As Range
Dim checkedRows As Object
Dim rangeAddress As String
Application.ScreenUpdating = False
If TypeName(Selection) = "Range" Then
Set checkedRows = CreateObject("Scripting.Dictionary")
For Each cell In Selection
i = cell.Row
rangeAddress = "D" & i & ":H" & i & ",J" & i & ":J" & i & ",L" & i & ":L" & i & ",N" & i & ":P" & i & _
",R" & i & ":R" & i & ",T" & i & ":V" & i & ",X" & i & ":Y" & i & ",AA" & i & ":AA" & i
If Not checkedRows.exists(i) Then
checkedRows.Add i, True
Set RowRange = ActiveSheet.Range(rangeAddress)
If Application.WorksheetFunction.CountA(RowRange) = 0 Then
ActiveSheet.Rows(i).EntireRow.Hidden = True
End If
End If
Next cell
End If
Set RowRange = Nothing
Set checkedRows = Nothing
Application.ScreenUpdating = True
End Sub
Изменено: - 22.05.2024 15:34:39
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
Пользователь
Сообщений: Регистрация: 18.02.2020
06.05.2024 17:43:23
Цитата
написал: вот нет разницы, для функции что "<>"&2024 что "<>2024" - это текст.
Да, это я уже понял. В любом случае сравнение будет с текстом. Вот только тогда получается что в диапазоне условия числовые значения преобразуются в текстовые и тогда сравнения происходят корректно, а числа сохраненные как текст зачем-то переводятся в числовые (числовые ли, кстати?) и тогда сравнение происходит некорректно. , спасибо.
Изменено: - 06.05.2024 17:44:44
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
Пользователь
Сообщений: Регистрация: 18.02.2020
06.05.2024 17:28:13
Самое странное, что такая формула (2024 без кавычек) тоже не работает:
=СЧЁТЕСЛИМН(D:D;H3;C:C;"<>"&2024)
Получается Эксель автоматически содержимое в диапазоне условия переводит из текста в числовую форму, а в самом условии наоборот из числа в текст. Умно...
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
Пользователь
Сообщений: Регистрация: 18.02.2020
06.05.2024 17:00:33
, так в этом то и загвоздка. Два соседних столбца - в первом просто текст, во втором число сохранено как текст. В первом столбце "<>" работает, а во втором - не работает. Хочется понять почему. В любом случае, спасибо за участие. UPD для лучшего понимания вопроса: =СЧЁТЕСЛИМН(C:C;"2024";D:D;"<>"&"Югорск") - работает правильно.
"<>" отлично работает с текстом. Например такая формула считает правильно: =СЧЁТЕСЛИМН(C:C;"2024";D:D;"<>"&"Югорск")
Подозреваю, что тут дело в том, что в столбце С число сохранено как текст.
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
Пользователь
Сообщений: Регистрация: 18.02.2020
06.05.2024 16:08:02
Пытаюсь посчитать позиции, не относящиеся к 2024 году. С дополнительными преобразованиями вроде получается. Но почему с исходными данными не работает?
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
04.04.2024 17:05:10
Я понимаю. Также понимаю, что всем на запретишь нажимать обновить и сохранять после этого. Поэтому переделал файл. Сейчас нормально должен работать.
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
04.04.2024 16:53:05
Это нормальная реакция для СУМЕСЛИ. Можно просто не нажимать "обновить". Вот с другой формулой вариант: =СУММПРОИЗВ('[Cводный журнал - 2024.xlsx]Apr'!$C:$C;(--('[Cводный журнал - 2024.xlsx]Apr'!$A:$A=$A$1))*(--('[Cводный журнал - 2024.xlsx]Apr'!$B:$B="401 "&ПОДСТАВИТЬ(A2;".";":"))))
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
04.04.2024 15:10:39
Добрый день. Я не большой сторонник добавлять в формулы которые должны выводить числовые значения, вывод текстовых значений. Лучше ничего не выводить или хотя бы прочерк. Но если очень хочется, то можно вот так: =ЕСЛИ(СУММЕСЛИМН('[Cводный журнал - 2024.xlsx]Apr'!$C:$C;'[Cводный журнал - 2024.xlsx]Apr'!$A:$A;$A$1;'[Cводный журнал - 2024.xlsx]Apr'!$B:$B;"401*";'[Cводный журнал - 2024.xlsx]Apr'!$B:$B;"*"&ПОДСТАВИТЬ(A2;".";":"))<>0;СУММЕСЛИМН('[Cводный журнал - 2024.xlsx]Apr'!$C:$C;'[Cводный журнал - 2024.xlsx]Apr'!$A:$A;$A$1;'[Cводный журнал - 2024.xlsx]Apr'!$B:$B;"401*";'[Cводный журнал - 2024.xlsx]Apr'!$B:$B;"*"&ПОДСТАВИТЬ(A2;".";":"));"пусто")
т.е. добавить в формулу ЕСЛИ =ЕСЛИ(ФОРМУЛА<>0;ФОРМУЛА;"пусто")
Но лучше воспользоваться советами из этой темы:
Формат ячеек в вашем случае будет # ##0,00;-# ##0,00;"пусто"
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
03.04.2024 17:02:39
Шобы я послал девушку... в другую тему? Да за кого вы меня принимаете! ))) Я предложил вариант для названия вашей темы, чтобы ее проще было найти другим.
Цитата
написал: Я имела ввиду что число при окончании двух смен меняется на следующее.
Можно сделать к примеру, привязку к слову NIGHT. Но следить, чтобы оно обязательно было в нужном столбце. =$A$2+СЧЁТЕСЛИ($B$3:B3;$B$2)
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
03.04.2024 15:34:29
Вариант названия темы: "Поиск значений по условию в таблице с разбивкой на диапазоны".
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
03.04.2024 15:20:40
Цитата
написал: А нельзя ли сделать так чтобы она автоматически протягивалась в этом столбце(Столбец А) по закрытию числа,
Как вариант - такой формулой:
=ЕСЛИ(B3<>"";МАКС($A$1:A2);"")
Только протягивать ее не забывать.
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
03.04.2024 12:03:53
Цитата
написал: Сотрудник вносит все значения согласно выданному на приборе,он не может их изменить и таблицу изменить тоже не может к сожалению
Если сотрудник добавит столбец с датой в первом столбце, например. Это сильно упростит всем жизнь. Вплоть до того, что вы сами сможете разобраться с формулой, которая будет выбирать нужные вам значения. В ином случае вы будете вынуждены каждый раз при непонятной ситуации обращаться на форум.
Подумайте о таком варианте:
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
03.04.2024 11:13:36
Цитата
написал: Как вы выбирали значения, чтобы залить их желтой заливкой?
Вы так и не ответили на самый главный вопрос.
Цитата
написал: сотрудник из электронного журнала методом копирования переносит получившиеся значения в сводный журнал
Этот сотрудник может вносить только нужные вам значения? Или хотя бы минимально готовить таблицу, в которую он эти значения копирует?
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
03.04.2024 09:27:39
Как вы выбирали значения, чтобы залить их желтой заливкой?
Цитата
данные вбиваются из электронного журнала
Кем "вбиваются"?
Изменено: - 03.04.2024 09:28:56
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
03.04.2024 09:03:09
Цитата
написал: Прикрепила желтым отметила значения которые должны из сводного перейти в оборотную
Непонятно по какому принципу вы выбираете данные. Первое не нулевое значение за час? Или значения с индексом "401"?
Я бы подошел к решению этой задачи с изменения данных в "Сводном" файле, а не пытался собрать систему из хаотично разбросанных значений.
Изменено: - 03.04.2024 09:14:08
Не могу раздвинуть рамки кол-ва строк в массиве
Пользователь
Сообщений: Регистрация: 18.02.2020
02.04.2024 16:53:32
При условии, что данные выводятся не чаще чем 1 раз в час, можно воспользоваться такой функцией:
Если нужно продлить дальше 62 строки - изменить во всех местах 62 на нужную строку.
Изменено: - 02.04.2024 17:58:29
Ошибка вставки значений в книгу, vba / out of range
Пользователь
Сообщений: Регистрация: 18.02.2020
15.02.2024 14:13:24
Проверьте: Есть ли в файле "01_Закрытие_Январь 2024_.xlsx" вкладка "БН" Есть ли в файле "Отчет_10.2.03.1_«Детальный.Агрегированный» BASE.xlsx" на листе "Лист1" в столбце 1 ячейка со значением "F_*"
Заполнение таблицы значениями подходящими под условие.
Пользователь
Сообщений: Регистрация: 18.02.2020
23.06.2021 12:09:57
Ну если заработало - значит правильно... Только надо иметь ввиду, то, что данные во вкладке "Расход" постоянно перезаписываются без удаления старых данных.
Изменено: - 23.06.2021 12:45:55
При изменении в одной из группы ячеек менять значения в других ячейках
Пользователь
Сообщений: Регистрация: 18.02.2020
23.06.2021 10:12:24
При смене третей ячейки меняется первая.
Код
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If Not IsNumeric(Target.Value) Or Target.Value = "" Then
Exit Sub
End If
Else
Exit Sub
End If
Application.EnableEvents = False
If Target.Column = 2 Then
Cells(Target.Row, Target.Column + 2) = Cells(Target.Row, Target.Column) + Cells(Target.Row, Target.Column + 1)
Else
If Target.Column = 3 Then
Cells(Target.Row, Target.Column + 1) = Cells(Target.Row, Target.Column - 1) + Cells(Target.Row, Target.Column)
Else
If Target.Column = 4 Then
Cells(Target.Row, Target.Column - 2) = Cells(Target.Row, Target.Column) - Cells(Target.Row, Target.Column - 1)
End If
End If
End If
Application.EnableEvents = True
End Sub
Заменить первую цифру после буквы
Пользователь
Сообщений: Регистрация: 18.02.2020
23.06.2021 09:18:57
Добрый день. Вы случайно цифры и числа не путаете? Сделайте файл с несколькими примерами что есть и что должно быть.
Создать папку с подпапками для каждого файла
Пользователь
Сообщений: Регистрация: 18.02.2020
22.06.2021 17:58:58
Протестировал, теперь работает.
Создать папку с подпапками для каждого файла
Пользователь
Сообщений: Регистрация: 18.02.2020
22.06.2021 17:41:18
Поправил.
Создать папку с подпапками для каждого файла
Пользователь
Сообщений: Регистрация: 18.02.2020
22.06.2021 17:18:45
Код
Sub temp()
Application.DisplayAlerts = False
For i = 6 To Cells(Rows.Count, 2).End(xlUp).Row
Range("F" & i).FormulaR1C1 = "=MID(RC[-3],1,LEN(RC[-3])-4)"
Path = Cells(i, 6).Value
MkDir Path
Path = Path & "\photo"
MkDir Path
FileCopy Cells(i, 3).Value, Path & "\" & Cells(i, 2).Value
Next
Application.DisplayAlerts = True
End Sub
Не проверял, но вроде так.
Изменено: - 22.06.2021 17:58:42
Заполнение таблицы значениями подходящими под условие.
Пользователь
Сообщений: Регистрация: 18.02.2020
22.06.2021 16:51:49
Добавил кнопку.
Изменено: - 23.06.2021 10:41:02
Условное форматирование текста при определенных условиях.