Q:如图1所示,在列B中有几千行这种不规则的数据,现在只想筛选出左边是数字右边是字母的数据,例如558fjk、07ad,如何能够实现?
图1
A:下面介绍如何使用数组公式来实现目的。为便于理解,我们先使用一些中间结果,然后组合成最终的数组公式。
我们的思路是,首先将数据分解成单个的字符,然后找出字符在数据中首次出现的位置,接着取自字符首次出现到数据末尾的部分,看看是否还会出现数字,如果再次出现数字,则表明数据不符合要求,否则获取原数据,即原数据满足要求。
以单元格B2中的数据“558fjk”为例。
单元格C2中的数组公式:
=MID(B2,ROW(INDIRECT(“1:”& LEN(B2))),1)
得到数组{”5”,”5”,”8”,”f”,”j”,”k”}
在单元格D2中,使用1来乘以单元格C3中的公式得到的数组:
=1*MID(B2,ROW(INDIRECT(“1:”& LEN(B2))),1)
得到数组{5,5,8,#VALUE!,#VALUE!,#VALUE}
单元格E2中,将数组传递给ISERROR函数:
=ISERROR(1*MID(B2,ROW(INDIRECT(“1:”& LEN(B2))),1))
得到数组{FALSE,FALSE,FALSE,TRUE,TRUE,TRUE}
如何隐藏Excel功能区界面?
Q:在Excel中,可以使用快捷菜单“功能区最小化”命令或者“功能区最小化”按钮将功能区最小化,但有没有方法将功能区界面隐藏呢,如图1所示? 图1 A:下面介绍几种方法。 方法一:使用“自定义功能区” 在“文件”中单击“选项”,打开“Excel选项”对话框,单击“自定义功能区”;或者在Excel功能区中单击
单元格F2中,使用数组公式:
=MATCH(TRUE,ISERROR(1*MID(B2,ROW(INDIRECT(“1:”& LEN(B2))),1)),0)
得到数据中第1个非数字字符出现的位置,本例中为4。
单元格G2中,数组公式:
=MID(B2,MATCH(TRUE,ISERROR(1*MID(B2,ROW(INDIRECT(“1:”& LEN(B2))),1)),0),LEN(B2))
获取自第1个非数字字符开始至数据结尾的部分,本例中为fjk。
单元格H2中,使用数组公式:
=MATCH(FALSE,ISERROR(1*MID(G2,ROW(INDIRECT(“1:”& LEN(B2))),1)),0)
判断单元格G2中的数据是否还有数字,如果有返回数字的位置值,否则返回#N/A错误值。
单元格I2中,公式:
=IF(ISNA(H2),B2,””)
判断单元格H2中是否是#N/A值,如果是,表明单元格B2中的数据满足条件,返回单元格B2中的数据;否则不满足条件,返回空。这样,就得到了最终的结果。
将上述步骤中使用的公式组合起来,得到一次获取满足条件的数据的数组公式:
=IF(ISNA(MATCH(FALSE,ISERROR(1*MID(MID(B2,MATCH(TRUE,ISERROR(1*MID(B2,ROW(INDIRECT(“1:”& LEN(B2))),1)),0),LEN(B2)),ROW(INDIRECT(“1:” &LEN(B2))),1)),0)),B2,””)
将公式下拉,即可得到相应的满足条件的数据,如上图1所示。
一个窗体控件能够链接到多个单元格吗?
Q:如下图1所示,在工作表中,有3个数值调节按钮(窗体控件),每个按钮链接到一个单元格。当点击数值调节按钮的上下箭头时,链接到的单元格中的数值会相应的增加或减少。 图1 通常,我们按下列步骤链接控件和单元格。首先绘制控件,然后选择控件并单击右键,在快捷菜单中选取“设置控件格式”命令。在“设置控件格式”对话框的“