在Excel中实现图片动态显示 / offset 函数

1、先需要创建二个列,这二个列的现实逻辑顺序是一致的就行了,不一定要求相邻,也不要是同一起始行。

2、二个列中,一列为条件,一列为图片;在图片列中,单元格需能包含图片的大小(可以Excel中统一设置单元格和图片的大小)。

表1

表2

在表2中有三个店的电话与图片,要根据表1中C1值,分自动显示表2的三个地方,其中包含显示图片的F2。

3、创建自定义名称:CPIC,值为:=offset(表2!$F$16,match(表1!$C$1,表2!$D$16:$D$18,0)-1,0)
        match是获取表1的C1值在表2的D16~D18之间的位置数,即第几个。

        offset是以表2的F16为基点,偏移多少位置,从而得到偏移后的位置的单元格的值。

        offset详解:http://support.microsoft.com/kb/324991/

4、在F2插入命令按钮控件(非窗体控件),此控件默认值:=EMBED("Forms.CommandButton.1","")
     将此值改为自定义名称值:=CPIC

通过offset函数,动态的设置某一单元格内的图为一名称,通到引用此名称达到目的。

OFFSET函数解释:

OFFSET(reference,rows,cols,height,width)
Reference    作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值 #VALUE!。
Rows    相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数 Rows,则说明目标引用区域的左上角单元格比 reference 低 5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。
Cols    相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数 Cols,则说明目标引用区域的左上角的单元格比 reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。
Height    高度,即所要返回的引用区域的行数。Height 必须为正数。
Width    宽度,即所要返回的引用区域的列数。Width 必须为正数。

示例:=OFFSET(U3,1,0,12,1)

以U3为起点(不含U3),行向下偏移1格,列向下偏移0格,得到需引用区域的左上角单元格位置:U4;(U+0=U/3+1=4)

再以U4为基准(含U4),行向下偏移12格,列向下偏移1格,得到需引用区域的右下角单元格位置:U15。(U-1+1=U/4-1+12=15)

函数结果:U4:U15;

若公式为:=countblank(OFFSET(U3,1,0,12,1)),意思为:统计u4:u15区域中的空白单元格数量。

Tty725 说:
欢迎转载,但请注明内容的来源或URL;
[转]”篇章,必须保留原始来源且勿添加本blog指向。
原文地址:https://www.cnblogs.com/Tty725/p/2634114.html