excelexcel表格一格分多格判定

已解决问题
excel中,如何把多格中的字符合并的同一个格中。
&excel中,如何把多格中的字符合并的同一个格中,还要在每个字符中间再加个&、&。例A&& B&& C&& D合并成&A、B、C、D&。不能用&,数据量很大,而且每列的数据个数也不一样。
浏览次数:3589
用手机阿里扫一扫
最满意答案
在工作中,时常会出现利用EXCEL来处理工作中的一些问题,例如,在EXCEL中,我们需要把多个单元格中的内容,合并到一个单元格中,然后将内容复制出来,如果一个个单元格内容复制粘贴会非常麻烦,且繁琐,弄得人烦躁不说,还容易出错。这里,我介绍几种方法,帮大家解决后顾之忧,只需小小的一个公式,就解决了。
答案创立者
以企业身份回答&
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is okHtml&table&实现Excel多格粘贴
电商网站的后台总少不了各种繁杂数据的录入,旁边的运营妹子录完第138条商品的时候,终于忍不住转身吼到:为什么后台的录入表不能像Excel那样多行粘贴!!!于是,就有了这片文章~
实现的就是这样的一个效果,从Excel或Number复制好多行数据后,直接在table起始单元格按下C+V,表格数据立马就齐刷刷站好位了!强迫症表示看着好爽感!
<img src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src ="http://images2015.cnblogs.com/blog/610/59-.gif" STYLE="margin: 0 padding: 0 max-width: 700 width: 686"
ALT="Html&table&实现Excel多格粘贴"
TITLE="Html&table&实现Excel多格粘贴" />
简单到不行的原理:给表格元素绑定粘贴事件,做到这四件事就可以啦(案例代码依赖jquery框架):
消除默认粘贴事件
javascript
e.preventDefault();
获取粘贴板上的数据
javascript var data =
var clipboardData = window.clipboardData ||
e.originalEvent.clipboardD // IE || chrome data =
clipboardData.getData('Text');
复制出来的数据是用制表符\t和换行符\n隔开的数据,显示出来是带空格的一系列字符串,如果在调试时想要清楚的查看带\t,\n的字符串,可以把字符串\t\n替换成成\\t
<img src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src ="http://images2015.cnblogs.com/blog/610/81-.png" STYLE="margin: 0 padding: 0 max-width: 700"
ALT="Html&table&实现Excel多格粘贴"
TITLE="Html&table&实现Excel多格粘贴" />
通过制表符和换行符解析数据,先通过换行符将不同行数组分开成数组,再把每个单元格数据通过制表符分开,同样构造成数组。
//解析数据
var arr = data.split('\n')
.filter(function(item) {
//兼容Excel行末\n,防止出现多余空行
return (item !== "")
}).map(function(item) {
return item. split("\t");
//最终数据模式
[a0,a1,a2],//row1
[b0,b1,b2],//row2
[c0,c1,c2],//row3
把解析好的数据放在相应单元格
var tab = this;
var td = $(e.target).parents('td'); //起始单元格
var startRow = td.parents('tr')[0].rowIndex; //起始单元格行数
var startCell = td[0].cellIndex; //起始单元格列数
var rows = tab.rows.length;
for (var i = 0; i &&/span& arr.length && startRow + i &&/span& rows; i++) {
var cells = tab.rows[startRow + i].cells.length;
//该行总列数
for(var j = 0; j &&/span& arr[i].length && startCell + j &&/span& cells; j++) {
var cell = tab.rows[startRow + i].cells[startCell + j];
$(cell).find(':text').val(arr[i][j]);
//找到cell下的input:text,设置value
需要注意的是在进行行或列的循环时,除了判断循环数i/j小于复制数据的行/列数外,还要判断当前所在行/列是否小于表格的总行/列数;
最终实现的代码如下:
$('table').bind('paste', function(e) {
event.preventDefault(); //消除默认粘贴
//获取粘贴板数据
var data = null;
var clipboardData = window.clipboardData || e.originalEvent.clipboardData; // IE || chrome
data = clipboardData.getData('Text');
console.log(data.replace(/\t/g, '\\t').replace(/\n/g, '\\n')); //data转码
//解析数据
var arr = data.split('\n')
.filter(function(item) {
//兼容Excel行末\n,防止出现多余空行
return (item !== "")
}).map(function(item) {
return item. split("\t");
//输出至网页表格
var tab = this;
var td = $(e.target).parents('td');
var startRow = td.parents('tr')[0].rowIndex;
var startCell = td[0].cellIndex;
var rows = tab.rows.length;
for (var i = 0; i &&/span& arr.length && startRow + i &&/span& rows; i++) {
var cells = tab.rows[startRow + i].cells.length;
//该行总列数
for(var j = 0; j &&/span& arr[i].length && startCell + j &&/span& cells; j++) {
var cell = tab.rows[startRow + i].cells[startCell + j];
$(cell).find(':text').val(arr[i][j]);
//找到cell下的input:text,设置value
只要把这一段绑在表格上,就可以华丽丽的实现多单元格复制啦~不过因为table单元格内的dom结构会有所差异,所以在循环内给单元格赋值时要留意下有没有问题。
小白一枚希望能够帮到大家~如果任何的小细节有更好更优雅的实现或编码方法,都希望大神们能在评论里指教,谢谢!
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。查看: 9826|回复: 7
[求助]如何实现多格数值在一格以文本显示?
阅读权限10
在线时间 小时
例如,一批货物有长宽高三个数值,在Sheet1中分三列输入,但在Sheet2中要合并到一列来显示。怎么做?在下今年刚刚毕业,最近开始使用EXCEL,发现同事用人工填入的数据大多数可以用EXCEL的函数来做到自动解决。但这个问题,在下愚钝,实在是无从下手。还望各路高手不吝赐教!
(2.07 KB, 下载次数: 53)
20:24 上传
点击文件名下载附件
[求助]如何实现多格数值在一格以文本显示?
阅读权限20
在线时间 小时
也是一样啊。
(2.46 KB, 下载次数: 91)
20:50 上传
点击文件名下载附件
[此贴子已经被作者于 20:51:15编辑过]
阅读权限20
在线时间 小时
回复:(黑光灯泡)[求助]如何实现多格数值在一格以文...
(2.24 KB, 下载次数: 127)
20:51 上传
点击文件名下载附件
[求助]如何实现多格数值在一格以文本显示?
阅读权限10
在线时间 小时
非常感谢两位!在下刚开始真正使用EXCEL,对其中的一些符号的使用不甚了解。看了两位的附件,才觉得原来这是这么简单的事情,呵呵再次感谢两位![em17]
阅读权限90
在线时间 小时
可以这样,假设在工作表sheet1中C3、D3、E3三个单元格中分别是货物的长宽高,分别为30米,20米,15米,在工作表sheet2中的某个单元格(假设A3,可随意指定)需要将前三个数值合并起来,只需用&隔起来即可,如有文字,文字需用""括起来即可,公式="长度:"&sheet1!c3&"米 "&"宽度:"&sheet1!D3&"米 "&"高度:"&sheet1!E3&"米" ,最后的输出结果就是:长度:30米 宽度:20米 高度:15米.。
(2.28 KB, 下载次数: 34)
21:22 上传
点击文件名下载附件
[此贴子已经被作者于 8:10:56编辑过]
阅读权限10
在线时间 小时
同志,阁下回答得真详细!阁下让在下更加清楚地了解英文状态下的双引号和and符号&的应用。非常感谢![em17]
阅读权限10
在线时间 小时
& & & & & & & &
我也很想知道,看看先
阅读权限10
在线时间 小时
谢谢 非常感谢两位!
最新热点 /1
本活动是由微软(中国)有限公司发起,申请通过者可以得到Office 365企业级E3 试用账号,并享有全套Office 365客户端及云端高效、协作办公体验。 机会有限,先到先得!
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师Excel中如何用函数将1个数多格显示_百度知道
Excel中如何用函数将1个数多格显示
我想将A中的值通过B中的值来实现A中的值在D中的个数,如何用函数实现?...
我想将A中的值通过B中的值来实现A中的值在D中的个数,如何用函数实现?
&#xe6b9;答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
用个辅助列好象更好一些:在E1输入 0,在E2输入 =SUM($B$1:B1)公式复制下去到比如E10在D1输入 =INDEX(A:A,MATCH(ROW(),E:E,1))公式复制下去到比如D20。如果嫌0难看,把D1公式改为:=IF(MATCH(ROW(),E:E,1)&COUNT(B:B),&&,INDEX(A:A,MATCH(ROW(),E:E,1)))
b1中输入:=countif(d$1:d$13,a1)下面填充就好。
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 excel快速插行 的文章

 

随机推荐