cad打开慢是怎么回事:50分:在excel中操作中的难题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/01 02:56:28
在工作中使用,主要是比较两列单元格,具体可简化为如下模型:
如第一列中A1至A26为字母A至Z,第二列B1为任意一个字母,第三列C1要返回B1这个字母在A1中的行数.
希望高手解决,谢谢.
请用函数解决,如B2再来一个字母,则在C2处用填充柄即可得到行数.
一楼朋友的方法好象不行啊,第一种方法肯定不行,我的数据有上千个啊,呵呵.
不知能不能用编程的方法,用个循环来解决.

我想了又想,利用函数实在是没好办法,像楼上说的,对于几个数据来说可行,但是如果是几十数据,可能光函数长度就让人怕了。所以我找了个变通的方法。利用定义函来算。
启动Excel,按Alt+f11启动VBA编辑,然后选择插入菜单中的“模块”,再将下面的代码写入到模块中

Function findchr(myrange As Range, mychr As Variant) As Variant

Dim myc As Range
flag = False

For Each myc In myrange

If myc.Value = mychr Then
findchr = myc.Row '& "," & myc.Column

flag = True
Exit For
End If

Next

If Not flag Then
findchr = "没有找到"
End If

End Function
'————————————————————————
保存,关闭VBA。这样,你就可以在这个Excel文件中,象用Excel自带函数一样来使用我们所定义的这个函数:
findchr(myrange,mychr)
这其中myrange是我们查找的目标区域(可以是行,列,块,多种选等选区),mychr是我们的查找内容,可以是单元格,也可以直接输入数值,字母等。

另外你将上面代码
findchr = myc.Row '& "," & myc.Column
这句中的单引号去掉,就可以同时返回行号和列号

findchr = "没有找到"
这句是为了提示没找到,你可以的这里面的几个汉字改为你想要的提示。

如果还有问题发信息给我吧。
给我个信箱我可以把做好的文件发给你,你就可以直接用了。

我有个笨方法:
C1公式: {=IF(B3=A1,"1",IF(B3=A2,"2",IF(B3=A3,"3",IF(B3=A4,"4"))))}

第二种方法:{=if(OR(EXACT(B1,A1:A8)),row(),0}
基本思想:如果B1与A1:A8中的一个内容相等,则反回行号,否则返回0.但row()是反回的当前行号。你自己看怎么得到吧。