发布网友 发布时间:2022-04-23 01:26
共5个回答
热心网友 时间:2023-09-14 06:23
用VBA编程,设某个单元格的Formula属性,自动去识别你定义的公式
程序未执行前的画面:
执行后的结果:
VBA代码画面:
VBA代码:
Sub test()
Const ColOfName As Long = 4
Const ColOfWage As Long = 5
Const ColOfTemp As Long = 7
Const ColOfFinal As Long = 6
Const ColOfFormula As Long = 12
Dim nRow As Long
For nRow = 2 To GetLastRow()
Sheet1.Range(Cells(nRow, ColOfTemp), Cells(nRow, ColOfTemp)).Formula = "=E" & nRow & " & MID(VLOOKUP(D" & nRow & ",K:L,2,FALSE),2,20)"
Sheet1.Range(Cells(nRow, ColOfFinal), Cells(nRow, ColOfFinal)).Formula = "=" & Sheet1.Range(Cells(nRow, ColOfTemp), Cells(nRow, ColOfTemp))
Next nRow
End Sub
Function GetLastRow() As Long
GetLastRow = Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlFormulas, SearchDirection:=xlPrevious).EntireRow.Row
End Function
追问好想看懂,但是...看不懂
热心网友 时间:2023-09-14 06:23
建立辅助列G,让G5 =SUBSTITUTE(E5&VLOOKUP(D5,K:L,2,0),"工资","")热心网友 时间:2023-09-14 06:24
在F5中输入或复制粘贴下列公式
=IF(COUNTIF($K$4:$K$6,D5),E5*VLOOKUP(D5,$K$4:$L$6,2,),E5+VLOOKUP(D5,$K$7:$L$8,2,))
下拉填充
追问你确定这个公式可以?试了,只能实现张三和李四的...还是谢谢
热心网友 时间:2023-09-14 06:24
你的问题出在L栏,EXCEL最忌讳的是一个单元格里输入N多个数据信息,你不仅仅是数据而且还有一段公式啊!!!没有办法用文字描述作为计算的啊热心网友 时间:2023-09-14 06:25
用vlookup函数,先把能匹配到姓名的人的原始工资取数到L列,然后再给公式,也是就说增加一个辅助列。