设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2442|回复: 6
打印 上一主题 下一主题

[基础应用] 关于取值的操作

[复制链接]
跳转到指定楼层
1#
发表于 2005-10-11 16:14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
例如:





<COLGROUP>

<COL style="WIDTH: 54pt" span=4 width=72>





2,289.27

2,307.52

2,286.79

2,305.24



2,311.63

2,312.53

2,284.11

2,289.47



2,319.52

2,325.89

2,314.48

2,325.89



第一列我希望取出百位的数字,将取出的值放入右侧的单元格中。

第二列我希望取出个位的数字,将取出的值放入右侧的单元格中。

第三列我希望取出小数点后第一位的数字,将取出的值放入右侧的单元格中。

第四列我希望取出小数点后第二位的数字,将取出的值放入右侧的单元格中。



下面是我希望等到的结果,希望指点一二,谢谢。





<COLGROUP>

<COL style="WIDTH: 54pt" width=72>

<COL style="WIDTH: 54pt" span=2 width=72>

<COL style="WIDTH: 54pt" width=72>

<COL style="WIDTH: 16pt; mso-width-source: userset; mso-width-alt: 672" span=4 width=21>





2,289.27

2,307.52

2,286.79

2,305.24

2

7

7

4









分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-10-11 16:31:00 | 只看该作者
=MID(A1,FIND(".",A1)+COLUMN(A1)*2-5-(COLUMN(A1)>3),1) 右拉,下拉.
3#
发表于 2005-10-11 18:44:00 | 只看该作者
公式可以更简单些取A列百位:=LEFT(RIGHT(INT(A1),3))取B列个位:=RIGHT(INT(B1),1)取C列十分位数(小数点后第一位):=MID(C1,FIND(".",C1)+1,1)取D列百分位数(小数点后第二位):=MID(D1,FIND(".",D1)+2,1)     ====>(这个可以用上一个填充)
4#
发表于 2005-10-11 19:35:00 | 只看该作者
以下是引用红池坝在2005-10-11 10:44:00的发言:



公式可以更简单些

取A列百位:=LEFT(RIGHT(INT(A1),3))

取B列个位:=RIGHT(INT(B1),1)

取C列十分位数(小数点后第一位):=MID(C1,FIND(".",C1)+1,1)

取D列百分位数(小数点后第二位):=MID(D1,FIND(".",D1)+2,1)     ====>(这个可以用上一个填充)



这样一来,不是更复杂吗?!  至少需要三个公式.  用2楼公式的目的就是要用EXCEL填充的优势.
5#
发表于 2005-10-12 02:47:00 | 只看该作者
只能说:愚昧

复杂或者简洁不在于输入多少,而在于是否便于理解,是否灵活。如果用2楼的公式,请看下图,黄色位置的答案是错误的



实事上,楼主的要求很简单:

百位就是小数点前的第3位:=MID(A2,FIND(".",A2)-3,1)

个位就是小数点前的第1位:=MID(A2,FIND(".",A2)-1,1)

十分位就是小数点后第1位:=MID(A2,FIND(".",A2)+1,1)

百分位就是小数点后第2位:=MID(A2,FIND(".",A2)+2,1)

…… ……

以此类推,而至于是取那一位数字(楼主的任务)并没有明确的规律,所以使用一个公式来类推是没有道理的。比如,假如是取第2列的十位的数字,用2楼公式显然还是会得到个位的结果,再或者,不是取第二列,而是继续取第1列或者第4列的数字,结果也会出错。这说明2楼的公式表面上在楼主这个特例中成立,但并不能推而广之,不是正确的思路

至于我为什么把前面两个取整来算呢,是因为这样比使用find()函数查找小数点的位置来得快,也更简洁。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
发表于 2005-10-13 19:25:00 | 只看该作者
更晕.*100,用什么公式取不是都方便了吗?
7#
发表于 2005-10-13 19:40:00 | 只看该作者
而且看样子,楼上想实现发票样式.(这在凭证中要用到)<COLGROUP><COL style="WIDTH: 21pt; mso-width-source: userset; mso-width-alt: 896" width=28><COL style="WIDTH: 33pt; mso-width-source: userset; mso-width-alt: 1408" span=3 width=44><COL style="WIDTH: 21pt; mso-width-source: userset; mso-width-alt: 896" span=6 width=28>亿千万百万十万万千百元角分=IF(12-COLUMN(B1:K1)>LEN(A2*100)+1,"",MID(REPT("¥",10-LEN(A2*100))&A2*100,COLUMN(B1:K1)-1,1))多单元格联合数组公式.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-3 17:24 , Processed in 0.101352 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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