ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南

[分享] 求解使用EXCEL统计出地址中的高频词(E高手请进)

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-12 15:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
image.png

对占比大于-3%,完成率数据进行排名
公式:=IF(C2<=-3%,"-",SUMPRODUCT(($C$2:$C$47>-3%)*(B2<$B$2:$B$47))+1)

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-30 10:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
image.jpg

序列号:=MAX(IF($H$2:$Z$35=A2,COLUMN($H$1:$Z$1),0))
课目名:=INDEX($1:$1,MAX(IF($H$2:$Z$35=A2,COLUMN($H$1:$Z$1),0),,))
G列显示:=OFFSET($G$1,,,MAX(IF($H$2:$Z$35=A2,ROW($H$2:$H$35))))
年级名:=LOOKUP(9^9,OFFSET($G$1,,,MAX(IF($H$2:$Z$35=A2,ROW($2:$35)))))

网友:
魚。。计算方法。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-11-10 20:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 我的城市你来过 于 2020-11-11 19:30 编辑

1、求解单元格内某种产品数据和方法

image.png

方法一:=SUMPRODUCT(COUNTIF(C3:C4,"*"&D2&"~*"&COLUMN(A:Z)&"*"),COLUMN(A:Z))

方法二:=MMULT(COUNTIF(C$3:C$4,"*"&D2&"~*"&COLUMN(A:Z)&"*"),ROW($1:$26))

网友:
sayhi95
计算提供。

"~*"用法,+"~"代表"*"本身。

疑惑点:2位数以上计算不对,再学习。
网友:
sayhi95

答疑:

=MMULT(COUNTIF(C$3:C$4,"*"&D2&"~*"&COLUMN(A:FD)&";*"),ROW($1:$160))

将方法二中最后的"*",改动为";*",同时扩容COLUMN=ROW=计算上限160,超过需要继续扩容。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-16 14:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1、VBA分档计提设计

image.png

Sub CommandButton1_Click()
Dim a, b, c, d, e, s
    For a = 2 To Range("a30").End(xlUp).Row
        s = Cells(a, 2)
        c = Cells(a, 3)
        d = Cells(a, 4)
        e = Cells(a, 5)
    Select Case s
        Case Is >= e
        Cells(a, 6) = Application.Round(c * 0.08 + (d - c) * 0.3 + (e - d) * 0.45 + (s - e) * 0.6, 2)
        Case Is >= d
        Cells(a, 6) = Application.Round(c * 0.08 + (d - c) * 0.3 + (s - d) * 0.45, 2)
        Case Is >= c
        Cells(a, 6) = Application.Round(c * 0.08 + (s - c) * 0.2, 2)
        Case Is >= 0.9 * c
        Cells(a, 6) = Application.Round(s * 0.08, 2)
        Case Is < 0.9 * c
        Cells(a, 6) = Application.Round(s * 0.05, 2)
    End Select
    Next
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-16 14:34 | 显示全部楼层
2、窗体界面
image.png

Private Sub userform_Initialize()
With UserForm1.ListView1
    .ColumnHeaders.Add 1, , "公司名称", .Width / 8, 0
    .ColumnHeaders.Add 2, , "联系人", .Width / 8, 2
    .ColumnHeaders.Add 3, , "联系方式", .Width / 8, 2
    .ColumnHeaders.Add 4, , "揽收员", .Width / 8, 2
    .ColumnHeaders.Add 5, , "寄递量", .Width / 8, 2
    .ColumnHeaders.Add 6, , "营业执照", .Width / 8, 2
    .ColumnHeaders.Add 7, , "经营范围", .Width / 8, 2
    .ColumnHeaders.Add 8, , "公司地址", .Width / 8, 2
    .View = lvwReport
    .Gridlines = True
    .FullRowSelect = True
    .MultiSelect = True
    .Font.Size = 10
    .Font.Name = "宋体"
    .ForeColor = vbBlack
End With

With UserForm1.Label1
    .Caption = "客户管理系统"
    .BackStyle = 1
    .AutoSize = True
    .WordWrap = False
    .TextAlign = fmTextAlignCenter
    .Font.Name = "楷体"
    .Font.Underline = True
    .Font.Bold = True
    .Font.Size = 18
    .Height = UserForm1.Height / 2
    .ForeColor = vbBlack
    .MousePointer = fmMousePointerIBeam
End With

End sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-16 14:41 | 显示全部楼层
本帖最后由 我的城市你来过 于 2021-2-17 17:25 编辑

3、VBA练习三(新增按钮) image.png

Private Sub CommandButton1_Click()
    If TextBox1 <> "" _
        And TextBox2 <> "" _
        And TextBox3 <> "" _
        And TextBox4 <> "" _
        And TextBox5 <> "" _
        And TextBox6 <> "" _
        And TextBox7 <> "" _
        And TextBox8 <> "" _
        And TextBox9 <> "" _
    Then
    Set itm = ListView1.ListItems.Add()
        For j = 1 To 8
            itm.Text = TextBox1.Value
            itm.SubItems(j) = Me.Controls("textbox" & j + 1).Value
            Me.Controls("textbox" & j + 1).Value = ""
        Next j
    Else
        MsgBox "牛年大吉大利,牛气冲天", vbOKCancel
    End If

    Dim arr(), z, y, x
        z = ListView1.ListItems.Count
    ReDim arr(1 To z, 1 To 9)
        For x = 1 To z
        arr(x, 1) = ListView1.ListItems(x).Text
        For y = 1 To 8
        arr(x, y + 1) = ListView1.ListItems(x).SubItems(y)
        Next y
        Next x
        Sheets("数据").Range("a1").End(xlDown).Offset(1, 0).Resize(z, 9) = arr
        Me.ListView1.ListItems.Clear
        TextBox1.SetFocus
End Sub


TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-18 20:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
四、窗体查询

image.png

Private Sub CommandButton2_Click()
    Dim myrange As Range
    Dim s As Integer
    With Sheets("数据")
        Set myrange = .Range("b2", .Range("b2").End(xlDown)).Find(TextBox10.Value)
            If Not myrange Is Nothing Then
            For s = 1 To 9
            Me.Controls("textbox" & s).Text = .Cells(myrange.Row, s).Value
            Next s
            End If
    End With
        Set itm = ListView1.ListItems.Add()
            For j = 1 To 8
            itm.Text = TextBox1.Value
            itm.SubItems(j) = Me.Controls("textbox" & j + 1).Value
            Next j
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-19 16:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
5、窗体修改
Private Sub CommandButton3_Click()
    Dim myrange1 As Range
    Dim s1 As Integer, j As Integer
    With Sheets("数据")
        Set myrange = .Range("b2", .Range("b2").End(xlDown)).Find(TextBox10.Value)
            If Not myrange Is Nothing Then
            For s1 = 1 To 9
              .Cells(myrange.Row, s1).Value = Me.Controls("textbox" & s1).Text
            Next s1
            End If
    End With
        Me.ListView1.ListItems.Clear
            For j = 1 To 10
            Me.Controls("textbox" & j).Value = ""
            Next j
        TextBox1.SetFocus
End Sub



微信截图_20210219162617.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-14 15:15 | 显示全部楼层
2022.12.14合并单元格查找引用思路

E列:=VLOOKUP(IF(ISODD(ROW(4:4))=FALSE,INDIRECT("b"&ROW(4:4)),INDIRECT("b"&ROW(4:4)-1)),总成绩表!$D:$G,IF(D4="语文",2,3),0)

image.png

image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-23 15:36 | 显示全部楼层
本帖最后由 我的城市你来过 于 2022-12-23 15:43 编辑

跨表数据匹配:


板号2:=IF(IFERROR(FIND("NoCt",TEXT(INDIRECT("数据表!$M"&ROW(5:5)*3)&"/"&INDIRECT("数据表!$M"&ROW(5:5)*3+2),))>0,TEXT(INDIRECT("数据表!$M"&ROW(5:5)*3)&"/"&INDIRECT("数据表!$M"&ROW(5:5)*3+2),))=TRUE,"阴",TEXT(INDIRECT("数据表!$M"&ROW(5:5)*3)&"/"&INDIRECT("数据表!$M"&ROW(5:5)*3+2),))

image.png

上机表:

=LOOKUP(B4,条码表!$D$3:$D$94,条码表!$F$3:$F$94)

image.png

image.png



您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-12 07:33 , Processed in 0.041811 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表