楼主: renliting
4014 11

[问答] 用Excel筛选公司 [推广有奖]

  • 1关注
  • 10粉丝

已卖:79份资源

讲师

59%

还不是VIP/贵宾

-

威望
0
论坛币
563 个
通用积分
0.4800
学术水平
3 点
热心指数
5 点
信用等级
3 点
经验
14395 点
帖子
620
精华
0
在线时间
407 小时
注册时间
2008-10-27
最后登录
2023-4-17

楼主
renliting 发表于 2012-10-23 17:12:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我有10家公司的8年的净利润的季度数据(一共32个数据),想从其中筛选出5家(这5家公司事先是可以确定的),如何用excel实现呢?希望高手指导~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:用excel EXCEL xcel exce cel 公司 Excel

冷峻的外表下有颗理性的心。

沙发
TaskShare 发表于 2012-10-23 21:32:25
没明白要求究竟是啥。既然5家公司已经确定,不就已经完成筛选了吗?

藤椅
renliting 发表于 2012-10-24 11:15:53
TaskShare 发表于 2012-10-23 21:32
没明白要求究竟是啥。既然5家公司已经确定,不就已经完成筛选了吗?
我只是先确定了5家公司,需要找到这5家公司对应的数据,这些数据就需要从原来的样本中去查找~
冷峻的外表下有颗理性的心。

板凳
TaskShare 发表于 2012-10-24 21:29:48
好吧,但没看到数据结构,我不能想象如何查找。5家,每家32个数据,似乎又不值得编程序。

报纸
renliting 发表于 2012-10-25 23:10:54
TaskShare 发表于 2012-10-24 21:29
好吧,但没看到数据结构,我不能想象如何查找。5家,每家32个数据,似乎又不值得编程序。
以上问题我只是做了个假设,真实的情况是要从2500多家公司中查找1000家公司.请问,这个应该如何用excel编程实现?
冷峻的外表下有颗理性的心。

地板
renliting 发表于 2012-10-25 23:14:08
renliting 发表于 2012-10-25 23:10
以上问题我只是做了个假设,真实的情况是要从2500多家公司中查找1000家公司.请问,这个应该如何用excel编 ...
数据结构

A公司       数据1  数据2     数据3    数据4  。。。 数据32
B公司       数据1  数据2     数据3    数据4   。。。 数据32
C公司      。。。。。。



Z公司      。。。。。。
不知道这样描述,能稍微清楚一点吗?
冷峻的外表下有颗理性的心。

7
TaskShare 发表于 2012-10-25 23:53:21
renliting 发表于 2012-10-25 23:14
数据结构

A公司       数据1  数据2     数据3    数据4  。。。 数据32
数量越多越能体现编程的好处(相对VLOOKUP之类的函数来说)。不知从这些2500公司挑出你要的1000公司的挑选标准是什么?只要这挑选标准EXCEL的VBA能处理,那么用excel中VBA编个程序是不难的。

8
renliting 发表于 2012-10-26 22:27:18
TaskShare 发表于 2012-10-25 23:53
数量越多越能体现编程的好处(相对VLOOKUP之类的函数来说)。不知从这些2500公司挑出你要的1000公司的挑选 ...
没有什么标准,前提就是有2500家公司的数据,然后知道要从中查找的1000家公司的名称及股票代码,需要从2500家公司中查找出这1000家公司以及它们对应的数据。
冷峻的外表下有颗理性的心。

9
TaskShare 发表于 2012-10-27 12:00:25
renliting 发表于 2012-10-26 22:27
没有什么标准,前提就是有2500家公司的数据,然后知道要从中查找的1000家公司的名称及股票代码,需要从25 ...
假设:2500公司数据在FullList表格内,第1列必须是股票代码,以后33列是公司名和32个数据。找到的1000公司数据将输出到Result表格,第1列是股票代码,以后33列是从FullList表格内提取的找到的公司名、32个数据。如果未找到,第1列显示股票代码,第2列显示未找到的出错信息。寻找这1000公司是根据Codes表格(第1列)的股票代码(文本格式)来找。那么,VBA程序如下(试运行似乎没问题,请指正):

Public Sub FindCoInf()
Dim i As Long, FullListRowNo As Long, NumOfCo As Long
Dim TargetRowNo As Long, NumOfTargetCo As Long, NumOfDataForEachCo As Long
Dim FullListSh As String, ResultSh As String, TargetCodeSh As String, TargetCode As String
Dim CoFound As Boolean

FullListSh = "FullList": ResultSh = "Result": TargetCodeSh = "Codes"
NumOfDataForEachCo = 32 + 2
'you mention it is 32, however, there are two more, i.e. company code, and company name, so 34
NumOfCo = 2500 'you mention that is 2500
NumOfTargetCo = 1000 'you mention that is 1000

For TargetRowNo = 1 To NumOfTargetCo
TargetCode = CStr(Sheets(TargetCodeSh).Cells(TargetRowNo + 1, 1).Value)

CoFound = False
FullListRowNo = 1
Do While FullListRowNo <= NumOfCo And (Not CoFound)
If CStr(Sheets(FullListSh).Cells(FullListRowNo + 1, 1).Value) = TargetCode Then
    CoFound = True
Else
    FullListRowNo = FullListRowNo + 1
End If
Loop

If CoFound Then
For i = 1 To NumOfDataForEachCo
Sheets(ResultSh).Cells(TargetRowNo + 1, i).Value = Sheets(FullListSh).Cells(FullListRowNo + 1, i).Value
Next i
Else
Sheets(ResultSh).Cells(TargetRowNo + 1, 1).Value = TargetCode
Sheets(ResultSh).Cells(TargetRowNo + 1, 2).Value = "ERROR: Code not found in the full list!"
End If

Next TargetRowNo

End Sub

10
renliting 发表于 2012-11-5 22:45:36
TaskShare 发表于 2012-10-27 12:00
假设:2500公司数据在FullList表格内,第1列必须是股票代码,以后33列是公司名和32个数据。找到的1000公司 ...
哥们,你这个好详细啊,真心很感谢你这么细心的写出所有的过程。但是这个好像不是用的Excel编程吧?具体用的是哪个软件啊?
冷峻的外表下有颗理性的心。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 03:24