设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2222|回复: 16
打印 上一主题 下一主题

[其它] [求助]数字字段,求解一阀值。

[复制链接]
跳转到指定楼层
1#
发表于 2006-12-16 21:04:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
表中一数字字段,给出一个值,求一阀值。我想不出好办法。

字段a

1

4

8

12

6

给出的一个数值A,如:25

规则是:小于阀值的取字段值,大于阀值的取阀值,合计等于A(即25)。

例:取后是

1

4

7

7

6

合计是25,阀值是7。

再举一例子:要求的合计值是29,求得的阀值是10。

取后是:

1

4

8

10

6

[此贴子已经被作者于2006-12-16 17:08:14编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
17#
 楼主| 发表于 2007-1-1 19:43:00 | 只看该作者
不是加不加1的事情
16#
发表于 2007-1-1 07:27:00 | 只看该作者
你说阀值间很大吧,改成下面的,不加1

F = Int((A + B + C) / 40)
15#
 楼主| 发表于 2007-1-1 07:06:00 | 只看该作者
F = Int((A + B + C) / 40) + 1

什么意思,应该i=0开始吧

试想如果Y=10,岂不是i=6 to 5,算出的阀值应该是0。
14#
发表于 2006-12-19 02:14:00 | 只看该作者

123

13#
 楼主| 发表于 2006-12-19 01:20:00 | 只看该作者
实在是高!我改成:

If i * 40 > (A + B + C) + Y Then



   E = i-1
   exit for
   
End If

记录数是固定的49,阀值一般是10000以内,给出的值一般是200000以内。

有可能循环的次数在数百次,我设想step 100,再step -10,再step 1,找到那个阀值。等试过后再说。
12#
发表于 2006-12-17 22:05:00 | 只看该作者
Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim D As Integer
Dim E As Integer
Dim F As Integer
Dim Y As Long
  
  A = 50
  B = 100
  C = 80

Y = 2600
D = Int((Y + A + B + C) / 40)
F = Int((A + B + C) / 40) + 1

For i = F To D
  A = 50
  B = 100
  C = 80


If A > i Then
      A = i
      
   End If
   
   If B > i Then
      B = i
      
   End If

  If C > i Then
      C = i
     
   End If


If i * 40 <= (A + B + C) + Y Then

   E = i
   
   
End If

Next
Debug.Print E
11#
 楼主| 发表于 2006-12-17 20:09:00 | 只看该作者
Y是已知的值,求n。

这样不对,公式里还有一个“处理结果的合计值”

数据放大一下就清楚了。

Y=2600

50

100

80

int(2600/40)=65,实际n=69。
10#
发表于 2006-12-17 19:39:00 | 只看该作者
Y是已知数,还是未知数

按你的例子直接用公式:INT(260/40) ,N最大值为6
9#
 楼主| 发表于 2006-12-17 19:03:00 | 只看该作者
重新说一下题目,和上面的不太一样。

字段A,用阀值处理后的结果(设阀值为n,if >n 取n,<=阀值,保留原值),会另外给出一个值Y(现在给出的例子为Y=260,求n)。

字段A

5

10

8

要求的公式为:n*40<=(处理结果的合计值+Y),求n的最大值(整数)。

如果Y太大,超过字段A的最大值*40,就不必做下去了。

[此贴子已经被作者于2006-12-17 12:43:10编辑过]

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

本版积分规则

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

GMT+8, 2025-1-11 06:18 , Processed in 0.213266 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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