Добрый день! Я приложил файл с пользовательской функцией ЕстьЗаливка, созданной с помощью vba После этого ею можно пользоваться как обычной функцией Она проверяет, есть ли заливка в ячейке Конечная формула выглядит так (в С4): =ЕСЛИ(ЕстьЗаливка(F4)="Нет заливки";"";F4) Файл приложил. Эксель может выдать предупреждение что Вы открываете файл с макросом
Рассчитайте текущее и прогнозируемое выполнение плана по каждому товару и по компании в целом., Примечание: в месяце 22 рабочих дня, отработано 17 дней
Добрый день! Я добавил формулы в С, D и E (в Е результат) Это не панацея и слепо полагаться на этот вариант я бы не советовал, но частично, надеюсь, поможет Опечатку с длб я не добавлял в формулу, т.к. все опечатки всё равно не предусмотреть И ещё я видел случаи когда телефон совпадал, а добавочный - нет. Не знаю, считается ли это совпадением или нет
я ошибся, в конце вместо нуля должны быть кавычки <> 0 - значение ячейки не равно 0 <> "" - значение ячейки не является пустым Выбирайте, что Вам нужно
Здравствуйте! Судя по картинке, попробуйте изменить диапазон: С: H2805:H3459 На: H2805:H2818
Кроме того, как написали выше, можно формулу изменить на =И($H2805>=$F2805;$H2805<>0) Тогда не будут закрашиваться пустые синие ячейки, чтобы было эстетичнее
Вы можете приложить файл-пример в формате эксель, хотя бы из нескольких строк? И наглядно показать как есть и что должно получиться в итоге Кстати, это, помимо прочего, прописано в правилах форума
Sub CopyFormulaShiftAbsolute()
Dim src As Range, dst As Range
Dim f As String
Dim rOff As Long, cOff As Long
AppActivate Application.Caption
DoEvents
On Error Resume Next
Set src = Application.InputBox("Выберите ячейку с формулой", Type:=8)
If src Is Nothing Then Exit Sub
Set dst = Application.InputBox("Выберите ячейку для вставки", Type:=8)
If dst Is Nothing Then Exit Sub
On Error GoTo 0
rOff = dst.row - src.row
cOff = dst.Column - src.Column
f = src.Formula
Dim RE As Object, matches As Object, m As Object
Set RE = CreateObject("VBScript.RegExp")
RE.Pattern = "(\$?[A-Z]{1,3}\$?[0-9]{1,7})"
RE.Global = True
Set matches = RE.Execute(f)
Dim newFormula As String
Dim pos As Long
pos = 1
newFormula = ""
For Each m In matches
newFormula = newFormula & Mid(f, pos, m.FirstIndex - pos + 1)
newFormula = newFormula & ShiftRef(m.Value, rOff, cOff)
pos = m.FirstIndex + m.Length + 1
Next
newFormula = newFormula & Mid(f, pos)
dst.Formula = newFormula
AppActivate Application.Caption
DoEvents
End Sub
Private Function ShiftRef(ref As String, rOff As Long, cOff As Long) As String
Dim col As String, row As String
Dim hasColAbs As Boolean, hasRowAbs As Boolean
hasColAbs = Left(ref, 1) = "$"
hasRowAbs = InStr(ref, "$") > 1
ref = Replace(ref, "$", "")
Dim i As Long
For i = 1 To Len(ref)
If Mid(ref, i, 1) Like "[0-9]" Then
col = Left(ref, i - 1)
row = Mid(ref, i)
Exit For
End If
Next
Dim cNum As Long
cNum = ColLetterToNum(col)
cNum = cNum + cOff
row = CStr(CLng(row) + rOff)
ShiftRef = IIf(hasColAbs, "$", "") & ColNumToLetter(cNum) & IIf(hasRowAbs, "$", "") & row
End Function
Private Function ColLetterToNum(col As String) As Long
Dim i As Long, result As Long
result = 0
For i = 1 To Len(col)
result = result * 26 + (Asc(UCase(Mid(col, i, 1))) - Asc("A") + 1)
Next
ColLetterToNum = result
End Function
Private Function ColNumToLetter(num As Long) As String
Dim col As String
Do While num > 0
num = num - 1
col = Chr(65 + (num Mod 26)) & col
num = num \ 26
Loop
ColNumToLetter = col
End Function
Функция ЕСЛИ при построении условия расчета % от продаж, Как рассчитать сумму бонусов в зависимости от выполнения плана продаж, ссылаясь на ячейки (чтобы можно было изменять данные по продажам), Сумма бонусов рассчитывается от суммы продаж (% от продаж), прописывала функцию "ЕСЛИ" и добавляла аргумент "И" но фо
Добрый день! Значение в В2 действительно 3, это видно если сменить пользовательский формат ячейки на обычный В названии Вашего файла кроется ответ)) PS. Пока писал, уже ответили
Добрый день! Если верно понял, нужен процент единиц и нулей в H от общего числа значений в H? Тогда можно так: =(СЧЁТЕСЛИ(H6:H48;1)*100)/СЧЁТ(H6:H48) =(СЧЁТЕСЛИ(H6:H48;0)*100)/СЧЁТ(H6:H48) Или нужно с учётом количества каждой детали?
Приношу свои извинения! Скачал варианта Павла посмотреть и случайно отправил его вместо своего. Сейчас поищу свой, если не удалил, загружу. Ещё раз пардон. Хорошо что вдруг решил проверить