Office中国论坛/Access中国论坛
标题: 如何实现不显示值为0的单元格内容? [打印本页]
作者: clon 时间: 2006-11-24 01:33
标题: 如何实现不显示值为0的单元格内容?
[attach]21704[/attach]
两个数据透视表,均由同一个表生成,并分别是RMB和USD作为币种,而USD币种的透视表是由计算字段中设置公式得到的。
在RMB中透视表中,某个人对应的费用不存在的话就不会显示;但通过公式计算的USD透视表中就会将不存在的费用显示为USD$0.00。请问是否可以让这些为0的单元格不显示?
我看了一下IIf这个函数,觉得它似乎可以写在计算字段的公式中,由于上传的例子只是要表达我的问题,实际上我是直接用Excel做的透视表,所以在excel里边不支持IIf这个函数。
不知道是否有好的解决方法呢?
请求达人的帮助,多谢了。
============================================================>
我再得寸进尺一下:
这个数据透视表的源表是每个月都进行数据插入的,而且数据量很大;随着数据量的增大,打开这个透视表的时候会越来越慢,而且选择查看某个月的费用时在paydate这个分页上操作也比较不方便。
我想,能否在打开excel透视表的时候通过输入一个日期,然后让透视表自动显示该日期对应的数据呢?就是说类似给access数据库中的查询设置一个参数那样。
或者,我的excel文件中包含的两个sheet,分别是RMB和USD币种的,能否在设置一个sheet分页中的条件选项时,另一个sheet的相应分页选项也自动同步呢?比如,RMB透视表中paydate设置为"2006-10-1",那当我切换到USD透视表时能否自动就显示"2006-10-1"的数据呢?
Lots of thanks!
[此贴子已经被作者于2006-11-24 11:38:08编辑过]
作者: wang1950317 时间: 2006-11-24 06:48
在Excel中是IF,不是IIF
作者: fengrh 时间: 2006-11-24 18:03
看看是不是你要的![attach]21714[/attach]
作者: clon 时间: 2006-11-24 18:12
以下是引用wang1950317在2006-11-23 22:48:00的发言:
在Excel中是IF,不是IIF
多谢您的指导,我试过将计算字段的公式设置为
=IF(ISBLANK(AMOUNT),"",AMOUNT/8) 和
=IF(AMOUNT=0,"",AMOUNT/8)
还都是不行
Excel在进行除法的时候会将那些空白值作为0来计算么?比如AMOUNT/8这个表达式,在数据库表中AMOUNT空白处对应到最后的计算结果都是0。
另外,为了不显示这些计算后得到的内容为0的单元格值,设置成""可以达到吗?
作者: fengrh 时间: 2006-11-24 18:37
內附的不是你要的嗎?[attach]21716[/attach]
作者: clon 时间: 2006-11-24 19:06
以下是引用fengrh在2006-11-24 10:37:00的发言:
內附的不是你要的嗎?
我就是想要这种效果,你只是用了usd2 = IF(amout/8 =0,"",amout/8 )这个计算字段吗?为什么我试验这个总是显示#Value!错误呢?
实在感谢你!
作者: eyewitnes 时间: 2006-11-24 19:12
不显示0值最简单的方法:菜单->工具->选项->视图->零值前的勾去掉
作者: clon 时间: 2006-11-24 19:17
以下是引用eyewitnes在2006-11-24 11:12:00的发言:
不显示0值最简单的方法:菜单->工具->选项->视图->零值前的勾去掉
晕,呵呵。
原来可以这么简单化的,我百度上也搜索到这个方法了,就是愣是没找到这个零值设置所在位置。。。
十分感谢!
感谢这么多热心的坛友的帮助,如果有分可以散就好了。[em09]
作者: clon 时间: 2006-11-24 19:20
我还是想问fengrh,你只是用到一个usd2字段而没有进行其他修改就解决了吗?我这里就报错#value!,似乎是字段类型不符合,难道我要把usd设置成自定义而非货币类型就可以吗?
作者: clon 时间: 2006-11-24 19:31
我再得寸进尺一下:
这个数据透视表的源表是每个月都进行数据插入的,而且数据量很大;随着数据量的增大,打开这个透视表的时候会越来越慢,而且选择查看某个月的费用时在paydate这个分页上操作也比较不方便。
我想,能否在打开excel透视表的时候通过输入一个日期,然后让透视表自动显示该日期对应的数据呢?就是说类似给access数据库中的查询设置一个参数那样。
Lots of thanks!
作者: clon 时间: 2006-11-24 19:36
以下是引用clon在2006-11-24 11:31:00的发言:
我再得寸进尺一下:
这个数据透视表的源表是每个月都进行数据插入的,而且数据量很大;随着数据量的增大,打开这个透视表的时候会越来越慢,而且选择查看某个月的费用时在paydate这个分页上操作也比较不方便。
我想,能否在打开excel透视表的时候通过输入一个日期,然后让透视表自动显示该日期对应的数据呢?就是说类似给access数据库中的查询设置一个参数那样。
Lots of thanks!
或者,我的excel文件中包含的两个sheet,分别是RMB和USD币种的,能否在设置一个sheet分页中的条件选项时,另一个sheet的相应分页选项也自动同步呢?比如,RMB透视表中paydate设置为"2006-10-1",那当我切换到USD透视表时能否自动就显示"2006-10-1"的数据呢?
作者: fengrh 时间: 2006-11-24 20:17
我用的是繁體-->表格選項如圖[attach]21718[/attach]
作者: clon 时间: 2006-11-24 21:01
以下是引用fengrh在2006-11-24 12:17:00的发言:
我用的是繁體-->表格選項如圖
难怪了,多谢你啦。
作者: fengrh 时间: 2006-11-24 21:37
1.新建一個查詢並在查詢日期的準則欄位輸入Between [forms]![表單名稱]![月曆控制項1] And [forms]![表單名稱]![月曆控制項2]
2.在表單內放入兩個月曆控制項,一個作為開始日期,另一個為結束日期,在加一個按鈕負責開啟數據透視表.[attach]21719[/attach]
[attach]21720[/attach]
作者: clon 时间: 2006-11-24 23:44
以下是引用fengrh在2006-11-24 13:37:00的发言:
1.新建一個查詢並在查詢日期的準則欄位輸入Between [forms]![表單名稱]![月曆控制項1] And [forms]![表單名稱]![月曆控制項2]
2.在表單內放入兩個月曆控制項,一個作為開始日期,另一個為結束日期,在加一個按鈕負責開啟數據透視表.
你的意思是将这个查询作为数据透视表的数据源吗?但是这么按照向导生成透视表总是提示“参数不足”,为什么呢?
作者: clon 时间: 2006-11-24 23:45
是因为透视表的数据源不能通过带有参数的查询得到吗?
作者: fengrh 时间: 2006-11-24 23:58
查詢->查詢參數->參數
參數 資料類型
[forms]![表單名稱]![月曆控制項1] 日期
[forms]![表單名稱]![月曆控制項2] 日期
作者: clon 时间: 2006-11-25 00:12
以下是引用fengrh在2006-11-24 15:58:00的发言:
查詢->查詢參數->參數
參數 資料類型
[forms]![表單名稱]![月曆控制項1] 日期
[forms]![表單名稱]![月曆控制項2] 日期
我的查询都按照你这么设置了参数,然后excel透视表的数据源选择的是获取外部数据源中的Access数据库中的这个查询,但还是提示上面那个参数问题。
作者: clon 时间: 2006-11-25 01:14
传上来个例子,说也说不太清楚呵呵。
就是说,当我在DemoForm窗体中输入日期后,点击“生成报表”,希望打开的Excel数据透视表文件能显示窗体中指定的日期的数据。
[em24][attach]21725[/attach]
[em24][em24][em24][em24]
[此贴子已经被作者于2006-11-24 17:17:35编辑过]
作者: fengrh 时间: 2006-11-25 04:28
so sorry,我再重新描述一下操作步驟
1.新建一個產生資料表查詢並在查詢日期的準則欄位輸入Between [forms]![表單名稱]![月曆控制項1] And [forms]![表單名稱]![月曆控制項2] (產生資料表的名稱為資料表1)2. 數據透視表的資料來源為資料表13.在表單內放入兩個月曆控制項,一個作為開始日期,另一個為結束日期4.加一個按鈕負責開啟數據透視表.按鈕內容docmd.openquery "資料表1" docmd.openform "數據透視表"
[此贴子已经被作者于2006-11-25 9:26:59编辑过]
作者: clon 时间: 2006-11-27 17:15
以下是引用fengrh在2006-11-24 20:28:00的发言:
so sorry,我再重新描述一下操作步驟
1.新建一個產生資料表查詢並在查詢日期的準則欄位輸入Between [forms]![表單名稱]![月曆控制項1] And [forms]![表單名稱]![月曆控制項2] (產生資料表的名稱為資料表1)
2. 數據透視表的資料來源為資料表1
3.在表單內放入兩個月曆控制項,一個作為開始日期,另一個為結束日期
4.加一個按鈕負責開啟數據透視表.
按鈕內容
docmd.openquery "資料表1"
docmd.openform "數據透視表"
非常感谢你的耐心细致的答复。
但我的数据透视表是直接在Excel里边的向导生成的,不知道这种情况能否通过access窗体中的控件参数传递给Excel透视表呢?或者将Excel数据透视表的数据源设置为access数据库中带有日期参数的查询来生成?
[此贴子已经被作者于2006-11-27 9:20:58编辑过]
作者: fengrh 时间: 2006-11-27 21:26
如附檔[attach]21761[/attach]
作者: clon 时间: 2006-11-27 23:46
以下是引用fengrh在2006-11-27 13:26:00的发言:
如附檔[attach]21761[/attach]
你的意思我看懂了,但我这里死活打不开你做的Demo。
真的是感觉无以为报,在北京的话我就请你吃饭呵呵。[attach]21763[/attach]
作者: clon 时间: 2006-11-27 23:52
我用的是access2000中文版
作者: fengrh 时间: 2006-11-28 00:12
因為繁體和簡體版的關係,你可以把vba的代碼複製到你的窗體執行.
作者: clon 时间: 2006-11-28 00:16
是不是引用缺少了?不同版本的access打开同一个文件会丢失引用吗?
作者: clon 时间: 2006-11-28 00:17
以下是引用fengrh在2006-11-27 16:12:00的发言:
因為繁體和簡體版的關係,你可以把vba的代碼複製到你的窗體執行.
奥,我明白了,我试试去。
作者: clon 时间: 2006-11-28 00:52
现在可以使用了,就是数据透视表的数据一直都是向导生成后的默认值,不随着窗体控件更新。
作者: fengrh 时间: 2006-11-28 01:01
你要把數據透視表的來源更新過,因為我設的來源是在c:\
作者: clon 时间: 2006-11-28 01:02
可以了,我把数据透视表的“表选项”设置成“打开时刷新”就好了。
向fengrh战友深表感谢!
作者: clon 时间: 2006-11-28 01:04
以下是引用fengrh在2006-11-27 17:01:00的发言:
你要把數據透視表的來源更新過,因為我設的來源是在c:\
你是说excel文件的路径吗?
作者: fengrh 时间: 2006-11-28 01:13
是的,或者你可以先把2個檔案先複製到c:\ 執行
作者: clon 时间: 2006-11-28 01:32
嗯,好的
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |