精华内容
下载资源
问答
  • 公司内部某个部门要进行员工的工作效率的记录,但是要求通过EXCEL进行录入,最后算出综合效率,显示到另外一个表中。 条件: 1、手动录入日期、工号、品番、工时、数量。员工姓名:通过VLOOKUP找工号获得。 2...
    公司内部某个部门要进行员工的工作效率的记录,但是要求通过EXCEL进行录入,最后算出综合效率,显示到另外一个表中。

    条件:
    1、手动录入日期、工号、品番、工时、数量。员工姓名:通过VLOOKUP找工号获得。
    2、单个效率=数量/目标数。目标数:通过Vlookup找品番获得。
    3、员工当天可能会有多个品番进行操作,会有多条记录,综合效率的公式=(效率A*A工时+效率B*B工时+...)/(A工时+B工时+...)


    其他操作都是非常基础的操作,通过VLOOKUP等可以获取。

    但是在多条记录中查找有相同特点的数据不太好实现。

    只能考虑数组公式。


    首先设定两组辅助公式:
    都为=B3&E3 ,也就是日期+工号

    最小效率公式:
    =IF(K3=0,0,INDEX(INDIRECT(SMALL(IF($L$3:$L$65536=M3,ROW($3:$65536)),1)&":"&SMALL(IF($L$3:$L$65536=M3,ROW($3:$65536)),1),TRUE),0,11))

    最小工时公式:
    =IF(K3=0,0,INDEX(INDIRECT(SMALL(IF($L$3:$L$65536=M3,ROW($3:$65536)),1)&":"&SMALL(IF($L$3:$L$65536=M3,ROW($3:$65536)),1),TRUE),0,8))

    最大效率公式:
    =IF(K3=0,0,INDEX(INDIRECT(LARGE(IF($L$3:$L$65536=M3,ROW($3:$65536)),1)&":"&LARGE(IF($L$3:$L$65536=M3,ROW($3:$65536)),1),TRUE),0,11))

    最大工时公式:
    =IF(K3=0,0,INDEX(INDIRECT(LARGE(IF($L$3:$L$65536=M3,ROW($3:$65536)),1)&":"&LARGE(IF($L$3:$L$65536=M3,ROW($3:$65536)),1),TRUE),0,8))

    由于一般情况下,单个员工一天最多操作两个品番,所以公式取一个最大值,一个最小值。如果有超过两个值的情况,请将SMALL公式的第二个参数改为1,2,3,...即可。
    上面的4组为数组公式,记得录入完成后按:CTRL+SHIFT+回车

    综合效率公式:
    =IF(OR(N3="请假",P3="请假"),"请假",IF(N3="",P3,IF(P3="",N3,((N3*O3)+(P3*Q3))/(O3+Q3))))

    将所有公式复制到下面的行即可。

    展开全文
  • 有时我们需要找出某值第一次出现或者最后一次出现的所在的行,以及对应的某的值,并且高亮显示该值所在的行 那我们怎样才能实现这效果呢? 可以来看一下下面这例子 测试数据是如下: 实现效果如下: ...

    有时我们需要找出某值第一次出现或者最后一次出现的所在的行,以及对应的某列的值,并且高亮显示该值所在的行

    那我们怎样才能实现这个效果呢?

    可以来看一下下面这个例子

    测试数据是如下:

    实现效果如下:

    操作步骤:

    1、在对应的单元格输入对应的公式

    第一次出现Dina 所在的行的 公式为:MATCH($D$3,A:A,0)  ;第一次出现Dina的 Date 的 公式 为:INDIRECT("B"&(E4))

    最后一次出现Dina 所在的行的 公式为:LOOKUP(1,0/($A:$A=$D$3),ROW($A:$A))  ;最后一次出现Dina的 Date 的 公式 为:INDIRECT("B"&(E5))

    2、点击开始 --》 条件格式 --》新建规则--》编辑格式规则,新建这两个规则就可以实现高亮的效果了

    3、可在名称那里动态输入相应的Name 值,就可以动态的高亮第一次和最后一次所在的行

     

    若想要本文的源文件可点击此处下载 (密码:wfu5

    展开全文
  • 帮朋友来写个Excel VBA ...1 从【操作】表中,查找最后一行的数据,每一 都为关键字 2 遍历这些关键字,从【总表】中查询这关键字,把这一行后面的内容复制到 【预算】表中去 3 把【操作】中制定内容...

     

    帮朋友来写个Excel VBA

    以前写过ASP,所以对vb略微熟悉,但VBA 没有仔细研究过。

    以前只研究过 vba 写一个 计算个人所得税的程序。

    这次写的功能也算是简单,但也耗费了两天的功夫。

    需求:

    1 从【操作】表中,查找最后一行的数据,每一列 都为关键字

    2 遍历这些关键字,从【总表】中查询这个关键字,把这一行后面的内容复制到 【预算】表中去

    3 把【操作】中制定内容复制到【信息统计】中

    Function Get操作NullLine()
    '
    '从 操作表 获取最后一个有数据下面的空行 row 序号
    '
       Get操作NullLine = GetNullLine("操作", "A", 2)
    End Function
    
    Function Get预算NullLine()
    '
    '从 预算表 获取最后一个有数据下面的空行 row 序号
    '
        Get预算NullLine = GetNullLine("预算", "A", 5)
    End Function
    
    Function Get信息统计NullLine()
        Get信息统计NullLine = GetNullLine("信息统计", "A", 2)
    End Function
    
    Function GetNullLine(excelTable As String, fromCell As String, beginRow As Integer)
    
    '
    '从 excelTable表 获取[fromCell单元格开始的]最后一个无数据的空行 row 序号
    '
        '设置开始的行
        Dim line: line = beginRow
        '选择Excel工作簿
        Worksheets(excelTable).Select
        '查找空行
        For Each c In Worksheets(excelTable).Range(fromCell & beginRow & ":" & fromCell & "999").Cells
            If c.Value <> "" Then
                'With c.Font
                '    .Bold = True
                '    .Italic = True
                'End With
                '''''''''MsgBox c.Value'查看当前是什么数据
            Else
                '找到了空行则返回
                GetNullLine = line
                Exit Function
            End If
            line = line + 1
        Next c
    End Function
    
    Sub CreateNewOrderID()
    '
    ' CreateNewOrderID 宏
    ' 创建单号
    '
        Sheets("操作").Select
        Range("Q1:U1").Select
        '单元格格式为文本即可
        Selection.NumberFormatLocal = "@"
        '设置单元格内容为 订单号,规则= 日期
        ActiveCell.FormulaR1C1 = Year(Now()) & Month(Now()) & Day(Now()) & Hour(Now()) & Minute(Now()) & Second(Now())
    End Sub
    
    
    
    '
    '遍历 操作表 中的一行序号,每一个序号都进行 DealSelectData(str) 处理,失败,则提示
    '
    Function DealRowDatas(n As Integer) As Boolean
        DealRowDatas = False
        If n < 0 Then MsgBox "错误的参数 n=-1": Exit Function '判断传参错误
        If Not DealSelectData(Worksheets("操作").Range("A" & n).Value) Then MsgBox "处理这行数据错误:【" & "A" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("B" & n).Value) Then MsgBox "处理这行数据错误:【" & "B" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("C" & n).Value) Then MsgBox "处理这行数据错误:【" & "C" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("D" & n).Value) Then MsgBox "处理这行数据错误:【" & "D" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("E" & n).Value) Then MsgBox "处理这行数据错误:【" & "E" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("F" & n).Value) Then MsgBox "处理这行数据错误:【" & "F" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("G" & n).Value) Then MsgBox "处理这行数据错误:【" & "G" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("H" & n).Value) Then MsgBox "处理这行数据错误:【" & "H" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("I" & n).Value) Then MsgBox "处理这行数据错误:【" & "I" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("J" & n).Value) Then MsgBox "处理这行数据错误:【" & "J" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("K" & n).Value) Then MsgBox "处理这行数据错误:【" & "K" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("L" & n).Value) Then MsgBox "处理这行数据错误:【" & "L" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("M" & n).Value) Then MsgBox "处理这行数据错误:【" & "M" & n & "": Exit Function
        If Not DealSelectData(Worksheets("操作").Range("N" & n).Value) Then MsgBox "处理这行数据错误:【" & "N" & n & "": Exit Function
        DealRowDatas = True
        
    End Function
    
    '
    '根据一个字符串 比如 DM9 从总表 查询并拷贝到 预算表 中去
    '
    Function DealSelectData(str As String) As Boolean
        DealSelectData = False
    
        'MsgBox "从总表中查询[" & str & "]并且添加到 预算表 中去"
        
        'str= 'Range("A3").Select
        'str= 'ActiveCell.FormulaR1C1 = "DM9"
        
        Sheets("总表").Select
        Dim findObj As Range
        Set findObj = Cells.Find(What:=str, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
            xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
            , MatchByte:=False, SearchFormat:=False)
            findObj.Activate
            findObj.Select
            'MsgBox findObj.Column
        Dim findRow As Integer: findRow = findObj.Row
            
        '项目名称    辅材:元/单位    数量    人工:元/单位    数量    金额(元)  工艺做法及材料说明
        '拷贝以上列数据 在总表中 B-H 列的数据
        Range("B" & findRow & ":H" & findRow).Select
        Selection.Copy
        
        Sheets("预算").Select
        '从预算表中第几行开始粘贴
        Dim targetRow: targetRow = Get预算NullLine()
        Range("A" & targetRow).Select
        ActiveSheet.Paste
        Sheets("操作").Select
            
            
        DealSelectData = True
    End Function
    
    
    Sub Copy操作To信息统计(fromStr As String, toStr As String)
    '从一个单元格拷贝到另一个单元格
    
        Sheets("操作").Select
        Range(fromStr).Select
        
        'MsgBox ActiveCell.Value'测试单元格是什么值
        'ActiveCell.FormulaR1C1 = "2015215104319"
        ActiveCell.Copy
        'Selection.Copy
        
        Sheets("信息统计").Select
        Range(toStr).Select
        'ActiveSheet.Paste'此粘贴包含了格式,不好用!!!!!
        '只粘贴值,不粘贴格式
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End Sub
    
    
    
    '
    '0 【增加到预算按钮】把操作表 最后一行的每一列的类似 DM9 这样的数据,从总表查询出来,拷贝到预算中去
    '
    Sub 增加到预算()
        
    Application.ScreenUpdating = False
        Call CreateNewOrderID
        
        If Not DealRowDatas(Get操作NullLine() - 1) Then: MsgBox "增加到预算 失败!有错误,请联系管理员 ": Application.ScreenUpdating = True: Exit Sub
        
        Sheets("预算").Select
        
    Application.ScreenUpdating = True
        Exit Sub
    End Sub
    
    
    '
    ' 1 【保存到信息统计中】
    '
    Sub 保存到信息统计()
    
    Application.ScreenUpdating = False
        Dim emptyLineNo: emptyLineNo = Get信息统计NullLine()
        '单号
        Call Copy操作To信息统计("Q1:U1", "A" & emptyLineNo)
        '预算员
        Call Copy操作To信息统计("Q6:U6", "B" & emptyLineNo)
        '业主姓名
        Call Copy操作To信息统计("Q2:U2", "C" & emptyLineNo)
        '联系方式
        Call Copy操作To信息统计("Q3:U3", "D" & emptyLineNo)
        '家庭地址
        Call Copy操作To信息统计("Q4:U4", "E" & emptyLineNo)
        '施工地址
        Call Copy操作To信息统计("Q5:U5", "F" & emptyLineNo)
    
        Sheets("操作").Select
        Application.CutCopyMode = False
        Sheets("信息统计").Select
    Application.ScreenUpdating = True
        Exit Sub
    End Sub

     

    展开全文
  • 有时候往往面临从多个Excel提取指定(一或多)的... 到第几行结束不填,代表到最后一数据 点击提取,浏览器会下载提取好的Excel文件。 工具需要使用谷歌浏览器 工具地址: www.excelfb.com 在查找提取 ...

           有时候往往面临从多个Excel文件中提取指定列(一列或多列)的数据,按列的方式追加到新表,不会vba的伙伴怎么办呢?不需要编写vba,给勤劳善良漂漂的你,推荐一个工具,操作如下:

      

      如上图:

          我们要提取B,C列的数据, 追加到新表的列中。

         填写从第几行开始提取,无特殊要求填写,从第一行开始,

         到第几行结束不填,代表到最后一行数据

        点击提取,浏览器会下载提取好的Excel文件。

     

    工具需要使用谷歌浏览器

    工具地址:  www.excelfb.com   在 查找提取 中 点击 按列提取追加到新表的列

    如果需要按行追加,在 批量合并 中 点击 多个Excel文件批量合并

    怎么样,还可以吧。

    展开全文
  • Excel查找

    2019-10-17 08:28:05
    最后一个模糊查找参数,一般用于区间范围的查找,如上。 并且左侧的被查找的需要按顺序排列 ,类似于二分法的查找方式。 若查找的值有文本有数字,可以使用ISNA函数第一次使用文本查找,第二次使用数字查找。 ...
  • 定位Excel最后非空单元格.rar,在许多实际工作中,需要查找或一行数据最后一个单元格的值或位置。本例中,要求返回B最后一个非空单元格的数据
  • 且需要将数据来源的文件名写入新建Excel sheet页的第一列,如图。 文件夹下的文件: <p style="text-align:center"><img alt="" height="494" src=...
  • 先选中这些数据,然后ctrl+C复制这些数据,然后在桌面新建一个txt文档: 打开txt文件,将复制好的数据粘贴到txt文档里面: 然后找到替换按钮: 然后将txt文档里的空格复制到 查找内容 栏,点击"全部替换"按钮: ...
  • Excel查找重复值

    2019-06-04 23:29:49
    我们在制作 Excel 表格的时候,经常在...第步: 先选中要查找重复数据的所在,或者全选数据。 第二步: 点击“开始”选项卡→条件格式→突出显示单元格规则→重复值→点击重复值,设置区别颜色,最后点击确定即可。
  • EXCEL里如何把一列中重复的内容删除

    千次阅读 2010-06-29 13:49:00
     EXCEL里如何把一列中重复的内容删除假如数据在A,插入B作为辅助,B1=IF(COUNTIF($A$1:A1,A1)>1,"重复",""),公式向下拖,删除B出现"重复"的行,最后删除辅助。编辑-查找--替换-全部替换.查找(相同...
  • 一个文件夹下有许多Excel文件和CSV文件,对这些文件进行扫描统计其中的数据最后数据写入CSV文件;查找条件存在一个CSV文件中 Excel文件或者CSV文件每一行第一在下面列表里 1234 2345 4567 6789 7890 ...
  • 想要把Excel数据用Word转成... 然后我们在顶部的菜单栏中找到“替换”,点击它就会弹出一个窗口,我们在查找内容后面粘贴上刚刚复制的内容,是空白的哦,然后再下方的替换为后面我们要输入“^p”,最后点击“全部替..
  • 一个Excel表A,有几十万条数据(几十)。一个Excel表B,数据量不一定(几十)。如果表A中某条数据的的C、D、J和表B中某条数据的B、C、F分别相等,就把表A中的这...
  • excel 常用技巧

    2018-02-11 13:57:19
    (在EXCEL帮助文档里也是这么说的)如果所查询值为明确的值,则返回值对应的结果行,如果没有明确的值,则向下取的于所查询值最近的值2、查找一个不确定的值,如查找列数据最后一个数值,在这种情况下,并不需呀...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    怎样从原始数据中自动获取最后一个数据 两列数据查找相同值对应的位置 查找数据公式两个(基本查找函数为VLOOKUP,MATCH) 【输入数据的技巧】 谈谈Excel输入的技巧 一中不输入重复数字 如果要查找重复输入的数字 ...
  • 函数作用:在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和..........................59 '35.函数作用:返回 Column 英文字.......................60 '36.函数作用:查找指定列名的数.......
  • 怎样从原始数据中自动获取最后一个数据 两列数据查找相同值对应的位置 查找数据公式两个(基本查找函数为VLOOKUP,MATCH) 【输入数据的技巧】 谈谈Excel输入的技巧 一中不输入重复数字 如果要查找重复输入的数字 ...
  • Excel新增工具集

    2011-12-20 09:30:27
    7、按类别拆分一个工作表中的行记录(组)到新表:是指将一个工作表中的多条记录按按照某一或某两列的类别关键(第一关键字和第二关键字)字拆分成若干个结构相同的工作表,它适合于档案数据记录的分类。...
  • Node.js读写巨大Excel

    2020-07-13 11:33:58
    最初我采用的是node-xlsx框架,每一个工作表50000行4,100个工作表,如此大的数据使用node-xlsx写入,会溢出内存。在网上百般查找,没有什么有用的方案。最后查了下目前常用的写excel的框架,发现了一个框架提供了...
  • Excel百宝箱

    2012-10-27 17:09:21
    一个教导和辅助利用Excel的工具 公农双历查询】:生成多功能日历,可以查询所有节、假日和农历 【高级定位】:多功能选择(查找)工具。可以选择大于某值或者小于某值或者在某范围之间的值,文本定位时支持通配符。...
  • Excel 函数之 vlookup

    千次阅读 2020-07-14 21:49:48
    vlookup 的功能为匹配查找。 VLOOKUP的公式:“=VLOOKUP(查找值,数据表,序列数,匹配...输入时有两个小技巧,第一,先点击一个单元格,按“Ctrl +Shift + ↓”可以快速选中该单元格及之后的同一数据,按“Ctrl +Sh
  • 由于近期有任务需要,要写一个能够处理Excel的脚本,实现的功能是,在A表格上其中一,对字符串进行分组和排序,然后根据排序好的A表格以固定格式自动填写到B表格上。 开始写脚本之前查了很多资料,最开始采用了...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    【合并数据并复制】:可以将一个区域的数据直接复制到一个单元格中 【合并区域自动换行】:可以让具有合并单元格的区域在自动换行与不换行之间自由切换 【建立图片目录】:对指定文件夹下所有图片(GIF、PNG、JPG,...
  • excel常用操作收集

    2020-08-01 00:15:00
    vlookup两或两列数据进行对比查找,如vlookup(A2,A:A,1,0),最后的0表示精确查找,1表示模糊查找数据透视图 ---- 做各种数据的统计(在空白处插入数据透视图–选择要添加到报表的字段,添加到下面的行–值! -...
  • EXCEL 2007 宝典 10/10

    2012-03-31 22:37:02
    Excel 2007是微软最新推出的Office 2007中重要的一个组件。相对于之前的版本,Excel 2007提供了新的功能。全书内容主要分为6个部分:Excel 2007基础操作、函数应用、图表应用、数据分析、高级应用和实际范例。内容...
  • EXCEL 2007 宝典 9/10

    2012-03-31 22:35:46
    Excel 2007是微软最新推出的Office 2007中重要的一个组件。相对于之前的版本,Excel 2007提供了新的功能。全书内容主要分为6个部分:Excel 2007基础操作、函数应用、图表应用、数据分析、高级应用和实际范例。内容...
  • EXCEL 2007 宝典 8/10

    2012-03-31 22:26:48
    Excel 2007是微软最新推出的Office 2007中重要的一个组件。相对于之前的版本,Excel 2007提供了新的功能。全书内容主要分为6个部分:Excel 2007基础操作、函数应用、图表应用、数据分析、高级应用和实际范例。内容...
  • EXCEL 2007 宝典 7/10

    2012-03-31 22:17:34
    Excel 2007是微软最新推出的Office 2007中重要的一个组件。相对于之前的版本,Excel 2007提供了新的功能。全书内容主要分为6个部分:Excel 2007基础操作、函数应用、图表应用、数据分析、高级应用和实际范例。内容...
  • EXCEL 2007 宝典 6/10

    2012-03-31 22:08:39
    Excel 2007是微软最新推出的Office 2007中重要的一个组件。相对于之前的版本,Excel 2007提供了新的功能。全书内容主要分为6个部分:Excel 2007基础操作、函数应用、图表应用、数据分析、高级应用和实际范例。内容...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 184
精华内容 73
关键字:

excel查找列最后一个数据