EXCEL里如何循环引用单元格

来源:百度知道 编辑:UC知道 时间:2024/06/21 02:29:50
例如,A1单元格里有“诺基亚”三个字,B列则是型号:B1是N78,B2是N79,B3是N81,B4是N82等等,B列的单元格个数并不一定,可能是七个也可能是八个九个十个
我需要一个公式达使C1单元格到以下效果:诺基亚N78,诺基亚N79,诺基亚N81,诺基亚N82。。。。。。引用到B列为空为止。请问各位大侠应该怎样写这个公式呢?
如果B列限定最多10个的话,又应该怎样写呢?

注意:不是在C列整用A1单元格加B列,而是在C1这个单元络里引用。引用出来C1单元格的内容达到:
“诺基亚N78,诺基亚N79,诺基亚N81,诺基亚N82。。。。。。”这个效果
回复2楼的,我想要一步达到这个结果
我的思路是,EXCEL先判断B1是否为空,非空的话,C1=A1&B1。
再循环判断B2是否为空,非空的话C1=A1&B1&","&A1&B2。
再循环判断B3是否为空,非空的话C1=A1&B1&","&A1&B2&","&A1&B3
直到读到B列的空单元格为止。

在C1单元格输入以下公式

=MID(SUBSTITUTE(PHONETIC(B1:B10),"N",",诺基亚N"),2,999)

公式表示:将B1:B10单元格的文本通过PHONETIC函数连接起来,其中的“N”用“,诺基亚N”替换,并从第二个字符开始身后取数(去掉第一个逗号)。

 

详见附图

在文档中添加宏来实现
添加方法:
[工具]->[宏]->[visual Basic编辑器]->选择sheet->选择对象worksheet->选择过程SelectionChange

脚本:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'选择C1单元格时执行以下代码
Set myRange = Range(&qu