图片中是exce中一个单元格A1中多行的数据,需要在另外一个单元格bB1中输入关键字,比如215/70 R16,会得到图片中对应行的35 = 215/70 R16前面的35。
答:右键工作表标签,选择查看代码,复制下面代码进去。然后可以在B列输入关键字,就会得到结果。
Private Sub Worksheet_Change(ByVal Target As Range)不好意思,能不能够在加一个功能,就是在sheet2里某个单元格输入关键字,如215/70 R16,在sheet1里模糊检索出有关键字的单元格,然后得到这个单元格里的一行35 = 215/70 R16中的35,输出在sheet2或者sheet3里!谢谢你!
追答说具体点吧,不然没法改。在Sheet2里哪个单元格,到Sheet1里的哪个区域里查找,最后把得到结果输出到哪个表的哪个单元格中去。
追问sheet1表中画圈部分有8个byte,D列每个数据对应一个十进制数
sheet2中是手动输入的数据,通过这些数据自动搜索到sheet1里对应的D列,输入的每个数据对应D列的数据,得到D列数据左边的十进制数,并转换成二进制显示在sheet3里,如下图
sheet1中一个byte对应上图的一个二进制,8个二进制生成后,在最后变成16进制。
不知道朋友有没有看懂0-0,谢谢。
我确实没看懂,最后一幅图也太小,看不清。
下面给出两种方法:
方法1. 如果会用vba的话可以考虑自定义函数:
按alt+f11唤出vbe编辑窗口,插入-模块,将下方代码贴入:
Public Function Zstr(str As String, tj As String)回到工作表中
在c1里输入如下公式:=zstr(A1,B1)
方法2. 公式(略长):
=--LEFT(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)),MAX(1,FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)))-200),FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200))))),FIND("=",TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)),MAX(1,FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)))-200),FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200))))))-1)
本回答被提问者采纳