Excel精英培训网

 找回密码
 注册
楼主: 封州大少

[失效] 数组公式兴趣小组练习题--005

[复制链接]
发表于 2007-6-2 16:47 | 显示全部楼层

<p>TRANSPOSE(MMULT($B$19:$J$29,10^(COLUMNS($B$19:$J$29)-ROW(INDIRECT("1:"&amp;COLUMNS($B$19:$J$29))))))</p><p>这样算是把数组反过来了</p>
回复

使用道具 举报

发表于 2007-6-4 14:58 | 显示全部楼层

<p>第一题:数组公式我就不会了,普通公式的还可以,离题了,楼主莫怪!</p><p>(F3:F8)和(A10:D10):=SUM(CHOOSE(IF(MOD(ROW(),10)=0,1,2),INDIRECT(ADDRESS(ROW()-7,COLUMN())&amp;":"&amp;ADDRESS(ROW()-2,COLUMN())),INDIRECT(ADDRESS(ROW(),COLUMN()-5)&amp;":"&amp;ADDRESS(ROW(),COLUMN()-2))))</p>
回复

使用道具 举报

发表于 2007-6-5 11:50 | 显示全部楼层

<p>第二题:普通数组公式,生搬硬套。</p><p>=SUM(--(MMULT($B$20:$J$30/10^COLUMN(A:I),ROW($1:$9)^0)&gt;=SUM(B20:J20/10^COLUMN(A:I))))</p>
回复

使用道具 举报

发表于 2007-6-5 08:34 | 显示全部楼层

为什么这几个函数都没用过的样子。。。是该好好学习学习了
回复

使用道具 举报

发表于 2007-6-5 07:46 | 显示全部楼层

(F3:F8)和(A10:D10):=SUM(IF(ROW()=10,INDIRECT(ADDRESS(ROW()-7,COLUMN())&amp;":"&amp;ADDRESS(ROW()-2,COLUMN())),INDIRECT(ADDRESS(ROW(),COLUMN()-5)&amp;":"&amp;ADDRESS(ROW(),COLUMN()-2))))(此公式太死板)
回复

使用道具 举报

 楼主| 发表于 2007-6-5 18:53 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>Luckyguy2008</i>在2007-6-2 12:16:30的发言:</b><br/>再改改<br/>G3:G8=MMULT(A3:D8,TRANSPOSE(COLUMN(A3:D8)^0))<br/>A10:D10=MMULT(TRANSPOSE(ROW(A3:D8)^0),A3:D8)<br/>K19:K29=MMULT(N(MMULT(B19:J29,10^(COLUMNS(B19:J29)-ROW(INDIRECT("1:"&amp;COLUMNS(B19:J29)))))&lt;=TRANSPOSE(MMULT(B19:J29,10^(COLUMNS(B19:J29)-ROW(INDIRECT("1:"&amp;COLUMNS(B19:J29))))))),ROW(B19:J29)^0)<br/></div><p></p><p>[em17]结果正确</p><p>第一题用MMULT生成内存数组,公式简洁,第二题题目并不要求生成内存数组,但<em><strong>Luckyguy2008</strong></em>的公式结果也是内存数组</p>
回复

使用道具 举报

 楼主| 发表于 2007-6-5 18:54 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>xhsdham</i>在2007-6-2 13:30:28的发言:</b><br/><p>题目一 </p><p>=SUM(OFFSET($A$3:$D$8,ROW(INDIRECT("1:"&amp;ROWS($A$3:$D$8)))-1,COLUMN(INDIRECT("1:"&amp;COLUMNS($A$3:$D$8)))-1,IF(COLUMN()&gt;COLUMNS($A$3:$D$8),1,ROWS($A$3:$D$8)),IF(ROW()&gt;ROWS($A$3:$D$8),1,COLUMNS($A$3:$D$8))))</p><p></p></div><p></p>这个公式的结果不是内存数组,是一个多单元格联合数组公式
回复

使用道具 举报

 楼主| 发表于 2007-6-5 18:56 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>xhsdham</i>在2007-6-2 16:44:54的发言:</b><br/><p>题目(二)</p><p>=SUM(IF(SUM(B19:J19*TRANSPOSE(10^(COLUMNS(B19:J19)-ROW(INDIRECT("1:"&amp;COLUMNS(B19:J19))))))&lt;=TRANSPOSE(MMULT($B$19:$J$29,10^(COLUMNS($B$19:$J$29)-ROW(INDIRECT("1:"&amp;COLUMNS($B$19:$J$29)))))),1,0))</p><p>前半段有意没用 MMULT 是想让自己明白些</p><p>头都快想烂了 才明白过来了&nbsp;MMULT函数接触的太少了</p><br/></div><p></p>[em17]结果正确
回复

使用道具 举报

 楼主| 发表于 2007-6-5 18:57 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>大众甜品</i>在2007-6-5 11:50:43的发言:</b><br/><p>第二题:普通数组公式,生搬硬套。</p><p>=SUM(--(MMULT($B$20:$J$30/10^COLUMN(A:I),ROW($1:$9)^0)&gt;=SUM(B20:J20/10^COLUMN(A:I))))</p></div><p></p>不错,结果正确[em17]
回复

使用道具 举报

 楼主| 发表于 2007-6-5 19:01 | 显示全部楼层

<p>大家都在想着MMULT,的确MMULT在内存数组累加方面是很常用的</p><p>第一小题要计算的是一个单元格区域,不用MMULT也有较简单的办法生成内存数组,大家可以再想想</p>
[此贴子已经被作者于2007-6-5 19:12:05编辑过]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-6 05:11 , Processed in 0.304229 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表