
准备工具/材料:装有windows 10的电脑一台,Microsoft Office 家庭和学生版 2016 excel软件。
1、首先,在打开的excel表格中输入几组数据,需要合并成一个单元格,用逗号分隔。
2、在c1单元格中输入合并公式:=A1&","&B1,需要在英文输入法中输入双引号。
3、单击Enter可合并需要合并的数据,并向数据中添加逗号。
4、然后点击C1单元格的公式向下填充复制,即可批量将数据进行合并和添加逗号了。
*** 作步骤:
首先来看一下原始数据:
A列是姓名,有重复的项目。B列是数量。要求求得A列每个人的数量合计。
首先,复制A列数据,粘贴到C列。
选中C列数据,选择数据-删除重复项。
选择以当前选定区域排序,然后点击删除重复项。
因为C列包含数据表头“姓名”,因此选择数据包含标题。
点击确定按钮后将删除C列数据的重复项,留下不重复结果如下图:
双击D2,输入公式=SUMIF(A$2:A$7,C2,B$2:B$7),回车并下拉填充公式就得到了想要的结果。
8
SUMIF函数的用法简介:
SUMIF函数的语法是这样的:=SUMIF(条件区域,条件,求和数据区域)
举例来说=SUMIF(A$2:A$7,C2,B$2:B$7),就是求A$2:A$7区域里等于C2单元格的值对应B$2:B$7数据的合计。
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我已经把方法写出来了,但是不会主函数,求高手帮忙填下
程序如下:
#include <stdioh>
#include <stdlibh>
typedef struct Node{
int data;
struct Node next;
}Lnode,LinkList;
LinkList CreatLinlList()
{
LinkList L;
Lnode s,r;
int x;
int flag;
L=r=NULL;
scanf("%d",&x);
while(x!=flag)
{
s=(Lnode )malloc (sizeof (Lnode));
s->data = x;
if(L==NULL)
L=s;
else
r->next=s;
r=s;
scanf("%d",&x);
}
if(r!=NULL)
r->next=NULL;
return L;
}
void deleteLinkList( LinkList L)
{
Lnode p,q,r;/p头指针 q指针 r尾指针/
p=L->next;/p指向第一个结点/
if(p==NULL)
return;
while(p->next)
{
q=p;
while(q->next)
if (q->next->data==p->data)
{
r=q->next;
q->next=r->next;
free(r);
}
else
q=q->next;
}
p=p->next;
}
LinkList merge(LinkList A,LinkList B)
{
LinkList C;
Lnode p,q,s,r;
p=A->next;
q=B->next;
C=A;
C->next=r=NULL;
free(B);
while(p&&q)
{
if(p->data<q->data)
{
s=p;
p=p->next;
}
else
{
s=p;
q=q->next;
}
r->next=s;
r=s;
}
if(p==NULL)
p=q;
while(p)
{
s=p;
p=p->next;
r->next=s;
r=s;
}
}
void PrintList(Lnodeh)
{Lnodep;
p=h->next;
if(p==NULL)
printf("ist is NULL!\n");
else
{printf("\t");
do
{printf("\t%c",p->data);
p=p->next;
}
while(p!=NULL);
printf("\t\n");
}
}
main()
{
}
解析:
LinkList a, b, c;
printf("building a\n");
a = CreatLinlList();
printf("building b\n");
b = CreatLinlList();
printf("a is\n");
PrintList(a);
printf("b is\n");
PrintList(b);
c=merge(a,b)
printf("the merge is\n");
PrintList(c);
deleteLinkList(a);
deleteLinkList(b);
deleteLinkList(c);
应该把CreatLinlList()改为
LinkList CreatLinlList()
{
LinkList L;
Lnode s,r;
int x;
int len; int flag;
L=r=NULL;
printf("input length:");
scanf("%d",&len);
scanf("%d",&x);
while(len-- != 0) while(x!=flag)
{
s=(Lnode )malloc (sizeof (Lnode));
s->data = x;
if(L==NULL)
L=s;
else
r->next=s;
r=s;
scanf("%d",&x);
}
if(r!=NULL)
r->next=NULL;
return L;
}
其实,多表合一方法有很多,这里我只介绍两种最快捷的方法!
将下图一月、二月、三月3张表数据合并汇总到一季度表中。
方法非常简单,选择C2:E5区域,输入SUM(''!C2), 按Ctrl+Enter。
3个月的数据瞬间合并完毕
反思一下,如果只合并1月和2月两个表的数据呢?
很简单!在C2单元格输入SUM('1月:2月'!C2),即可
再问:合并1月和3月的两个表格,函数应该怎么写呢?
=SUM('1月'!C2,'3月'!C2)
下面把表格改一下,看看另一种合并方式
三个表格分公司A、分公司B、分公司C这三列,进行汇总。
在B2单元格输入 =INDIRECT(B$1“!b”ROW()) 即可
NDIRECT(B$1“!b“ROW())文本引用,即引用分公司AB2单元格数据。
注意:INDIRECT()参数不加引号情况下只做地址引用,只返回单元格地址。
希望大家可以通过以上几种合并效果,可以举一反三,做出更有效的函数应用。
没有Excel2016的伙伴,可以私聊回复“2016”获取!
也可回复“考勤表”、“仓管系统”、"分享"等关键字,获取更多免费资源
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)