显示标签为“Office skill”的博文。显示所有博文
显示标签为“Office skill”的博文。显示所有博文

2013年1月8日星期二

Excel处理两列相同(重复)或不同的数据单元格问题(2)


  上一篇文章说的有点糊里糊涂,希望这篇您能看明白。
  有些朋友经常碰到两个问题:1)怎么找出两列单元格重复的数据?2)怎么找出两列不同的数据。
方法很简单,
  例如A,B两列既含有重复的数据有含有不同的数据,
  我们首先解决比较简单的问题,即去除单列内的重复项,这个在excel数据的高级筛选可以做到,首先选中单元格——高级筛选——将单元格复制到——选中相邻的单元格作为复制的地址——选中下拉菜单底部的去除重复--确定就完成了。
  经过上一步骤我们得到了两列单列内没有重复项的单元格,如图

  














  我简单介绍一下原理,其实这就是两个集合的交集和补集的问题。重复的部分就是它们的交集,不同的部分就是它们的剔除交集后的并集。
  我们来介绍方法:第一步我们先在A列中查找B列然后将查找结果放在C列,我们在C1单元格中输入,然后下拉填充到B列结束,就行了
  =VLOOKUP(B1,$A$1:$A$16,1,FALSE)
  数中B1为要查找的对象,$A$1:$A$16查找的范围,表示从A1遍历到A16,$表示绝对地址,避免填充时单元格序号会随填充而变化,1表示返回超找对象列,False表示精确匹配,如果需要最大近似值可以不设置,查找结果如下图


  其中#N/A表示A列中没有和B列相同的元素,B列所特有的部分,不重复项的一部分.如果需要相同的我们把#N/A删除即得重复数据,如果需要不重复的我们把原列中的相同数据删除就的到了不相同的数据。如果数据比较大的话,手动删除好像仍然比较麻烦。我们对结果进行整理
  在D1输入并向下填充以下公式:
  =COUNTIF(B1:C1,B1)
  函数中(B1:C1表示B1和C1匹配,如果相同则返回逻辑值2,如果不同则返回逻辑值1,结果如图
  

















  然后复制B和D列,选择性粘贴(一定要选择性粘贴数值)到sheet2,再对sheet2中的B列排序,选择扩展选定区域,得到结果如下图
















  其中2所对应的A列单元格都是原来数据sheet1中A,B列相同的(重复的)数据,1所对应的就是原来的B列所独有的数据。把他们分别复制到新建的excel表格里面(定名为相同列和不同列)。然后删除原列表所有的东西,仅保留数据sheet1中的原始数据A和B列,依照上述方法再对A列进行相同的操作,找出A列中两列共有的数据和A列特有的数据,再把结果整理到刚刚新建的excel表格中相应的部分,我们就分拣出了A列和B列重复的部分和不重复的部分。
不过如果你按步骤操作保证能分拣成功。
上一篇文章说的有点糊里糊涂,希望这篇您能看明白。

Excel处理两列相同(重复)或不同的数据单元格问题(1)

  有些朋友经常碰到两个问题:1)怎么找出两列单元格重复的数据?2)怎么找出两列不同的数据。
方法很简单,
  例如A,B两列既含有重复的数据有含有不同的数据,
  我们首先解决比较简单的问题,即去除单列内的重复项,这个在excel数据的高级筛选可以做到,首先选中单元格——高级筛选——将单元格复制到——选中相邻的单元格作为复制的地址——选中下拉菜单底部的去除重复--确定就完成了。
  经过上一步骤我们得到了两列单列内没有重复项的单元格,如图

  














  我简单介绍一下原理,其实这就是两个集合的交集和补集的问题。重复的部分就是它们的交集,不同的部分就是它们的剔除交集后的并集。
  我们来介绍方法:第一步我们先在A列中查找B列然后将查找结果放在C列,我们在C1单元格中输入,然后下拉填充到B列结束,就行了
  =VLOOKUP(B1,$A$1:$A$16,1,FALSE)
  数中B1为要查找的对象,$A$1:$A$16查找的范围,表示从A1遍历到A16,1表示返回超找对象列,False表示精确匹配,如果需要最大近似值可以不设置,查找结果如下图

  其中#N/A表示A列中没有和B列相同的元素,B列所特有的部分,不重复项的一部分,下面我们再以相同的方法在B列中查找A列的元素,然后放在D列。函数如下
  =VLOOKUP(A1,$B$1:$B$16,1,FALSE)
  然后下拉填充得到结果如下图

















  其中正常显示的就是两列数据重复的单元格,
#N/A表示为两列不重复的单元格,如果需要相同的我们把#N/A删除即得重复数据,如果需要不重复的我们把原列中的相同数据删除就的到了不相同的数据。
但手动删除好像仍然比较麻烦。我们对结果进行整理  我们先把B列和C列复制到其他区域如I和J区,记得选选择性粘贴。在L1输入并向下填充以下公式:
  =COUNTIF(I1:J1,J1)
  函数中I1:J1表示I1和J1匹配,如果相同则返回逻辑值2,如果不同则返回逻辑值1,结果如图
















  然后复制J和K列,选择性粘贴到其他区域如M和N,在对K列排序,选择扩展到其他区域,得到结果如下图



















  其中2所对应的M列单元格都是原来数据A,B列中相同的(重复的)数据,1所对应的就是原来的B列所独有的数据。把他们复制到新建的excel表格里面。然后撤销原列表中的排序步骤,因为上一步的扩展导致整个表格顺序都变了,所以复制之后要撤销排序,依照该方法再对A列和它所查询的结果D列进行相同的操作,再把结果整理到刚刚新建的excel表格中相应的部分,我们就分拣出了A列和B列重复的部分和不重复的部分。
可能表述起来比较麻烦,不过如果你按步骤操作保证能分拣成功。




2013年1月4日星期五

利用libreoffice Base 打开Microsoft Office Access 2007 数据库

利用libreoffice Base直接双击打开Microsoft Office Access 2007 数据库会出现乱码问题,现在解决办法
利用现有的Microsoft Office Access 2007 数据库新建一个ODF数据库。操作步骤如下首先打开libreoffice Base,如图

然后选择连接到现有数据库,在下面的对话框中选择Microsoft Office Access 2007格式,然后选择继续。

然后在浏览中选择自己的Microsoft Office Access 2007的路径,打开然后继续













直接默认,然后点完成,为新建的ODF数据库附上名字,并选择存放路径便于查找,最后如图


然后就可以根据需要图中所示表格进行编辑了,以后就可以双击自己新建的ODF数据库进行编辑。