EXCEL里能不能把sheet的名称作为vlookup函数查找对象名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL里能不能把sheet的名称作为vlookup函数查找对象名称相关的知识,希望对你有一定的参考价值。

参考技术A 带sheet的名称是可以的,但是光sheet的名称是不可以的,因为光sheet的名称,程序是不知道你要找什么啊 参考技术B iNTERCEPT 函数可以解决你的问题,
vlookup(A1,INTERCEPT("Sheet"&A2&"!b:c"),2,0)
这个函数就是求 A1对应Sheet(A2单元格的值)这个表B:C中对应第二列的值。
去尝试下吧
参考技术C 不能,绝对不能的. 参考技术D 可以将sheet 中要查找的对象范围定义名称为“sheet".

python如何操作excel 基础代码

一 基础操作
1打开excel表格并获取表格名称
wookbook = load_workbook(filename = 表格文件路径)
(注意只能打开存在的表格,不能用该方法创建一个新表格文件)
workbook.sheetnames # 获取表格文件内的sheet名称、

技术图片


2 通过sheet名称获取表格对象
sheet = workbook[sheet名称]
3 获取表格尺寸大小
sheet.dimensions
4获取表格内某个格子的数据
sheet = workbook.active 打开活跃的/唯一的表格
cell = sheet[‘A1‘] 获取A1格子
value = cell.value 该格子的数据
5 获取某个格子的行数,列数,坐标
print(cell.row, cell.column, cell.coordinate)
6 可用行数和列数定位某个格子
cell = sheet.cell(row = 1,column =1)
7 获取一系列格子
cells = sheet[‘A1:A5‘]
cells = sheet[‘A‘]
8 获取一系列格子 (按行或者列获取)
for row in sheet.iter_row(min_row=2,max_row=3,min_col=1,max_col=2):
print(row) #获取一整行
for cell in row:
print(cell) (按行获取)
for col in sheet.iter_row(min_row=2,max_row=3,min_col=1,max_col=2):
print(col)
for cell in col:
print(cell) (按列获取)

9 迭代整个表格的所有行
for row in sheet.rows:
print(row)

10 向某个格子写入内容并保存
sheet[‘A1‘]=‘你好啊‘
cell= sheet[‘a1‘] ; cell.value = ‘你好啊‘
11 用python列表数据插入一行
sheet.append(python列表) 会接在表格内已有数据后面
12 插入公式
直接赋值公式字符串
例 sheet[‘f1002‘]=AVERAGE(f2:f1001)
#查看openpyxl支持的公式
from openpyxl.utils import FORMULAE
print(FORMULAE)
13 插入一列
sheet.insert_cols(idx =2)
sheet.insert_cols(idx =2,amount=3)#插入3列
14 插入一行
sheet.insert_rows(idx =2)
sheet.insert_rows(idx =2,amount=3)#插入3行
15 删除行(列)
sheet.delete_rows(idx = 2)
sheet.delete_rows(idx=2,amount=3)
16 移动格子
#移动单元格(正整数为向下或向右,负整数为向左或向上)
sheet.move_range(‘C1:D4‘,rows=2,cols=-2)
17 创建新的sheet
workbook.create_sheet(sheet名称)
18 删除一个sheet
sheet = workbook[‘表格2‘]
workbook.remove(sheet)
19 复制一个sheet
sheet = workbook[‘表格1‘]
workbook.copy_worksheet(sheet)
20 修改表格名称
sheet = workbook.active
sheet.title = ‘表格1‘
21 创建一个新的Excel表格文件
workbook = openpyxl.Workbook()
22 冻结窗格
sheet.freeze_panes = ‘G2‘
23 添加筛选
sheet.auto_filter.ref = sheet.dimensions # 对整张表进行筛选
二 颜色 ,字体,样式
网址 https://www.bilibili.com/video/BV197411f7Rp?p=9

from openpyxl.styles import Font
Font(name=字体名称,size=字体大小,bold=是否加粗,italic=是否斜体,color=字体颜色)

1 修改字体样式
font = Font(name=‘思源黑体 Regular‘,size=12,bold=True,italic=True,color=‘FF000‘)(rgb与hex转换)
cell.font = font
2 获取表格中字体的样式
cell.font.属性
cell = sheet[‘a2‘]
font = cell.font
print(font.name,font.size,font.bold,font.italic)
3 设置对其样式
Alignment(horizontal=水平对其模式,vertical=垂直对齐模式,text_rotation=旋转角度,wrap_text=是否自动换行)
cell= sheet[‘a1‘]
alignment =Alignment(horizontal=‘center‘,vertical=‘center‘,text_rotation=45,wrap_text=True)
cell.alignment = alignment
4 设置边框样式
Side(style=边线样式,color=边线颜色)
Border(left=左边线样式,right=右边线样式,top=上边线样式,bottom=下边线样式)
例:
cell = sheet[‘a3‘]
Side1=Side(style=‘thin‘,color=‘ff000‘)
Side2=Side(style=‘dotted‘,color=‘ff000‘)
border = Border(left=side1,right=side1,top=side2,bottom=side2)
cell.border=border

以上是关于EXCEL里能不能把sheet的名称作为vlookup函数查找对象名称的主要内容,如果未能解决你的问题,请参考以下文章

Excel上使用Vlookup函数,选择区域于另外多张Sheet上,Sheet名称应作为变量而非手工输入表现在函数中。

excel中如何批量把一个工作簿当中的每个工作表名称复制出来

excel 如何替换单元格引用工作簿名称,例如sheet1中有单元格=sheet2!B2,如何用VB全部替换为=sheet3!B2。

Excel中设置下拉列表的来源怎么选择其他工作表的内容

用VB如何高效读取EXCEL中所有的sheet名称

VB有啥办法把多个Excel工作簿中的工作表名称改成默认的sheet1。