怎样用EXCEL编写一个纸板自动报价程序?

怎样用EXCEL编写一个纸板自动报价程序?,第1张

一般这种情况需要建两张sheet:

sheet1,把各种参数、各种规格、各种价格列明。

sheet2,录入各个订单。在单价一列使用函数查询sheet1当中对应的价格。然后乘以数量,自动计算出总价。

思路就是这样了。

单价1、2、3都是从sheet1里自动带出来的。也可以直接把三个数字相加。为了看着方便,我就分开写了。

#include<stdio.h>

struct sp

{

char name[10] //名称数自己定

float price

int num

float sum

}sp[5]

float total=0

int main()

{

int i

float calc(float sum1,float sum2, float sum3, float sum4, float sum5)

void output()

for(i=0i++i<5)

{

printf("请输入第%d种商品的名称,单价,数量:\n",i)

gets(sp[i].name)

scanf("%f",&sp[i].price)

scanf("%d",&sp[i].num)

sp[i].sum=price*num

output()

printf("%f\n",calc(sp[0].sum,sp[1].sum,sp[2].sum,sp[3].sum,sp[4].sum))

}

float calc(float sum1,float sum2, float sum3, float sum4, float sum5)

{

total=sum1+sum2+sum3+sum4+sum5

return total

}

void output()

{

int i

for(i=0i++i<5)

{

puts(sp[i].name)

printf("\n%f\n",sp[i].price)

printf("%d\n",sp[i].num)

printf("%f\n",sp[i].sum)

}

}

老板让制作一个报价单,当填入需求的时候,总报价就自动的计算出来了

1、物品较少的时候

制作的效果如下,我们只需要输入物品和数量,单价和金额能够自动的进行计算

这个简易的报价单只需要两步进行制作:

?简单的设计一下数据样式,然后在

E3单元格中输入的公式

=SUM(G3:G1500)

F4中输入公式:

=IF(D4="","",VLOOKUP(D4,A:B,2,0)),向下拖动一部分

G4中输入公式:

=IF(D4="","",E4*F4),向下拖动一部分

使用IF函数实现了,当D4单元格中没有数据的时候,后面都显示空白,有数据的时候,会自动的进行VLOOKUP查找匹配到单价,从而计算总金额

?选中D列,然后在数据选项卡的数据验证下面,选择序列,数据来源,选择A2:A8单元格

2、物品较多的时候

当物品比较多的时候,D列的下拉菜单就会很多,很难进行选择

这个时候我们可以进行一个优化,先看效果如下:

当我们在C3单元格提前输入一个关键词,那么下拉菜单就自动的适配只有这个关键字的物品,再进行选择。

前面的公式都是保持不变的,关键在于这个下拉菜单的制作

A列中的商品数据现在是22个,输入公式进行套用即可,替换掉下方的22和23

所以我们在J列里面输入公式:

=INDEX($A$1:$A$23,SMALL(IF(ISNUMBER(FIND($C$3,$A$1:$A$22)),ROW($A$1:$A$22),23),ROW(C1)))&""

输入完公式按CTRL+SHIFT+ENTER,向下填充

然后在数据验证序列里面输入的公式是:

输入的公式是:

=OFFSET($J$1,0,0,1048576-COUNTBLANK($J:$J),1)

这样就能实现了在C3先输入一个关键字,然后下拉菜单就是和这个关键字相关的内容了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7924954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存