Excel根据表名获取对应的数据?
根据汇总表I2输入表的名称,比如输入5732,则在J2获取5732表内A2到A6的颜色下拉选项(如果不能实现的话可忽略用手动输入方式),主要是要根据I2和J2的数据获取到...
根据汇总表I2输入表的名称,比如输入5732,则在J2获取5732表内A2到A6的颜色下拉选项(如果不能实现的话可忽略用手动输入方式),主要是要根据I2和J2的数据获取到后面对应的尺码数据,如果I2输入的表名不存在或错误则在K2-R2内显示错位,求J2和K2-R2的正确公式,表内的对应格式都是一样的,只是可能个别表名会又多个颜色属性或尺码属性,有大神帮我解决吗!万分感谢!要的是公式,不是一堆理论哦
展开
9个回答
展开全部
第一个问题:下拉菜单,使用数据有效性进行处理,公式:
=INDIRECT(I2&"!A2:A"&COUNTA(INDIRECT(I2&"!A:A"))-1)
下图红色箭头操作。
第二个问题:根据I2和J2的数据获取到后面对应的尺码数据,公式:
=IFERROR(VLOOKUP($J2,INDIRECT($I2&"!A:K"),MATCH(K$1,INDIRECT($I2&"!1:1"),)),"错位")
更多追问追答
追问
能在这个表中向其它表输入数据吗,比如我建一个按钮来给其它表内输入库存数量(增加或者减少库存的按钮)
追答
那得用代码来处理了,操作、公式处理不了这种问题。
展开全部
在K2中输入或复制粘贴下列公式
=IFERROR(VLOOKUP($J2,INDIRECT($I2&"!A:H"),COLUMN(B:B),),"错误")
或
=IFEOOR(VLOOKUP($J2,INDIRECT("'"&$I2&"'!A:H"),COLUMN(B:B),),"错误")
右拉填充
选择J2,数据,数据工具,数据验证,数据验证,选择 序列,来源,输入 =OFFSET(INDIRECT(I2&"!A2"),,,COUNTA(INDIRECT(I2&"!A:A"))-1),确定
=IFERROR(VLOOKUP($J2,INDIRECT($I2&"!A:H"),COLUMN(B:B),),"错误")
或
=IFEOOR(VLOOKUP($J2,INDIRECT("'"&$I2&"'!A:H"),COLUMN(B:B),),"错误")
右拉填充
选择J2,数据,数据工具,数据验证,数据验证,选择 序列,来源,输入 =OFFSET(INDIRECT(I2&"!A2"),,,COUNTA(INDIRECT(I2&"!A:A"))-1),确定
追问
J2不能根据I2输入的表名调用成下拉框吗,框的内容就是对应表名内可选颜色
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在excel表格里,计算一个sheet表使用的行数,这个功能的应用还是非常的广泛的.在VBA编程里,通过计算行数,然后使用for next循环的方式来进行数据的计算是一个非常常用的解决问题的思路.现在根据以图片为例来罗列几个计算表格已经使用行数的计算方法.方法一:arr=sheets("数据表").range("a1").currentregion.value r=ubound(arr)方法说明:先把整个数据表有数值的部分装入数据之中,使用ubound(arr)来计算数组的行数,即可以计算出已经使用的最后一行的行数.这个路线是"曲线救国"的方法.方法二:with sheets("数据表")r=.cells(.rows.count,"c").end(3).row end with方法说明:使用.rows.count函数直接计算工作表里已经使用的行数,此处计算行数使用的是C列的已经有数据的行数的标准.方法三:with sheets("数据表").range("c65536").end(xlup).rowend with方法说明:end.row从单元格C65536往上找有数据的最下一行的行数.即计算出已经使用过的行数.以上三种方法均可以计算出指定工作表的已经使用过的行数.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在excel表格里,计算一个sheet表使用的行数,这个功能的应用还是非常的广泛的.在VBA编程里,通过计算行数,然后使用for next循环的方式来进行数据的计算是一个非常常用的解决问题的思路.现在根据以图片为例来罗列几个计算表格已经使用行数的计算方法.方法一:arr=sheets("数据表").range("a1").currentregion.value r=ubound(arr)方法说明:先把整个数据表有数值的部分装入数据之中,使用ubound(arr)来计算数组的行数,即可以计算出已经使用的最后一行的行数.这个路线是"曲线救国"的方法.方法二:with sheets("数据表")r=.cells(.rows.count,"c").end(3).row end with方法说明:使用.rows.count函数直接计算工作表里已经使用的行数,此处计算行数使用的是C列的已经有数据的行数的标准.方法三:with sheets("数据表").range("c65536").end(xlup).rowend with方法说明:end.row从单元格C65536往上找有数据的最下一行的行数.即计算出已经使用过的行数.以上三种方法均可以计算出指定工作表的已经使用过的行数.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在excel表格里,计算一个sheet表使用的行数,这个功能的应用还是非常的广泛的.在VBA编程里,通过计算行数,然后使用for next循环的方式来进行数据的计算是一个非常常用的解决问题的思路.现在根据以图片为例来罗列几个计算表格已经使用行数的计算方法.方法一:arr=sheets("数据表").range("a1").currentregion.value r=ubound(arr)方法说明:先把整个数据表有数值的部分装入数据之中,使用ubound(arr)来计算数组的行数,即可以计算出已经使用的最后一行的行数.这个路线是"曲线救国"的方法.方法二:with sheets("数据表")r=.cells(.rows.count,"c").end(3).row end with方法说明:使用.rows.count函数直接计算工作表里已经使用的行数,此处计算行数使用的是C列的已经有数据的行数的标准.方法三:with sheets("数据表").range("c65536").end(xlup).rowend with方法说明:end.row从单元格C65536往上找有数据的最下一行的行数.即计算出已经使用过的行数.以上三种方法均可以计算出指定工作表的已经使用过的行数.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询