excel中的两列,内容相同,顺序不同,怎样通过函数判定为相同内容?
用python处理会更方便些,先获取到栏位的值分割后再排序判断。
import xlwings as xw
# 打开excel文件
xlsx_file=xw.Book(r'C:\Users\18359\Desktop\test.xlsx')
# 打开sheet工作表
open_sheet=xlsx_file.sheets['Sheet1']
# 获取工作表行列数
rows=open_sheet.used_range.last_cell.row
cols=open_sheet.used_range.last_cell.column
print(rows)
print(cols)
# 获取数据
list_value=open_sheet.range((1,1),(rows,cols)).value
print(list_value)
for row in range(1,rows):
# 分割字符串
A_col=list_value[row][0].split('+')
B_col=list_value[row][1].split('+')
# 排序
A_col.sort()
B_col.sort()
if A_col==B_col:
list_value[row][2]="一样"
print("一样")
else:
list_value[row][2] ="不一样"
print("不一样")
open_sheet.range((1,1),(rows,cols)).value=list_value
xlsx_file.save()
excel公式: =IF(A2=B2,"一样","不一样")
数据如图:
要拿Excel做还是用程序做
问一下内容是通过+连接吗?+号连接的内容都是三个吗?这种情况用python做会比较简单一些
可以分解开来,按照字母表排序,排序后在比较
一、在** Excel2010**中,查找相同的内容,可以使用函数: lookup (),即在指定位置返回指定数值的函数,该函数用于返回给定数组或单元格区域中的值,包括文本和数字,也包括逻辑值和文本值, lookup (index_ num, value_ range),是返回给定数组或单元格区域中的值, index_ num 参数必须为数字或包含数字的名称, value_ range 参数必须为数字或包含数字的名称。
二、在 Excel2007及以上版本中,可以使用公式:= lookup (a2, find ("# A1",$ A$1:$ A1,2,0),"# A2","$ A$1:$ A1"),即可将 A 列中的“# A1”与 B 列中的“# A2”匹配起来,如果要匹配 A1和 A2,只需要将公式中的“ A1”改成“ A2”即可。三、注意: lookup 函数不能直接对两个单元格进行查找。四、 lookup 函数的语法格式: lookup (number, table_ array,[ col],[ counta.