精华内容
下载资源
问答
  • 从图中可以看到GridView一共有“等级”、“颜色”,“箱子”,“净重”,“规格”,“汇总”6列,首先要要合并等级,如右图中合并后的“级”,然后再合并每等级下面的颜色,如右图中合并后的“级”下面的“片...

    使用GridView展示数据,经常会遇到合并单元格的情况。首先说明一下项目中合并单元格的要求,如下图所示,左边是合并之前的GridView,右边是合并之后的GridView。从图中可以看到GridView一共有“等级”、“颜色”,“箱子”,“净重”,“规格”,“汇总”6列,首先要要合并等级,如右图中合并后的“一级”,然后再合并每个等级下面的颜色,如右图中合并后的“一级”下面的“片红”和“条红”,依次类推。

    1

    从网上搜索了一下“GridView合并单元格”,大多是合并单列,诸如此类。搜索未果,只能自己动手写一个了。参考现有的合并单列的代码,我完成了满足上面合并要求的代码,自我感觉算法很烂,写这篇文章也是希望有经验的园友提供更好的解决方法。

    首先,完成合并单列的行,代码如下:

       1:  /// <summary>
       2:  /// 合并单列的行
       3:  /// </summary>
       4:  /// <param name="gv">GridView</param>
       5:  /// <param name="currentCol">当前列</param>
       6:  /// <param name="startRow">开始合并的行索引</param>
       7:  /// <param name="endRow">结束合并的行索引</param>
       8:  private static void MergeRow(GridView gv, int currentCol, int startRow, int endRow)
       9:  {
      10:      for (int rowIndex = endRow; rowIndex >= startRow; rowIndex--)
      11:      {
      12:          GridViewRow currentRow = gv.Rows[rowIndex];
      13:          GridViewRow prevRow = gv.Rows[rowIndex + 1];
      14:          if (currentRow.Cells[currentCol].Text != "" && currentRow.Cells[currentCol].Text != " ")
      15:          {
      16:              if (currentRow.Cells[currentCol].Text == prevRow.Cells[currentCol].Text)
      17:              {
      18:                  currentRow.Cells[currentCol].RowSpan = prevRow.Cells[currentCol].RowSpan < 1 ? 2 : prevRow.Cells[currentCol].RowSpan + 1;
      19:                  prevRow.Cells[currentCol].Visible = false;
      20:              }
      21:          }
      22:      }
      23:  }

    在合并后面的列之前,首先要遍历前一列。上面的例子中,合并第二列,首先要遍历第一列,以便得到一级是从第几行到第几行。开始写遍历前一列的代码之前,首先定义一个类,如下所示:

       1:          class RowArg
       2:          {
       3:              public int StartRowIndex { get; set; }
       4:              public int EndRowIndex { get; set; }
       5:          }

    该类有两个属性,分别表示要合并的开始行的索引和结束行的索引。下面是遍历前一列的代码:

       1:  /// <summary>
       2:  /// 遍历前一列
       3:  /// </summary>
       4:  /// <param name="gv">GridView</param>
       5:  /// <param name="prevCol">当前列的前一列</param>
       6:  /// <param name="list"></param>
       7:  private static void TraversesPrevCol(GridView gv, int prevCol, List<RowArg> list)
       8:  {
       9:      if (list == null)
      10:      {
      11:          list = new List<RowArg>();
      12:      }
      13:      RowArg ra = null;
      14:      for (int i = 0; i < gv.Rows.Count; i++)
      15:      {
      16:          if (!gv.Rows[i].Cells[prevCol].Visible)
      17:          {
      18:              continue;
      19:          }
      20:          ra = new RowArg();
      21:          ra.StartRowIndex = gv.Rows[i].RowIndex;
      22:          ra.EndRowIndex = ra.StartRowIndex + gv.Rows[i].Cells[prevCol].RowSpan - 2;
      23:          list.Add(ra);
      24:      }
      25:  }

    下面完成最后一个方法,代码如下:

       1:  /// <summary>
       2:  /// GridView合并行,
       3:  /// </summary>
       4:  /// <param name="gv">GridView</param>
       5:  /// <param name="startCol">开始列</param>
       6:  /// <param name="endCol">结束列</param>
       7:  public static void MergeRow(GridView gv, int startCol, int endCol)
       8:  {
       9:      RowArg init = new RowArg()
      10:      {
      11:          StartRowIndex = 0,
      12:          EndRowIndex = gv.Rows.Count - 2
      13:      };
      14:      for (int i = startCol; i < endCol + 1; i++)
      15:      {
      16:          if (i > 0)
      17:          {
      18:              List<RowArg> list = new List<RowArg>();
      19:              //从第二列开始就要遍历前一列
      20:              TraversesPrevCol(gv, i - 1, list);
      21:              foreach (var item in list)
      22:              {
      23:                  MergeRow(gv, i, item.StartRowIndex, item.EndRowIndex);
      24:              }
      25:          }
      26:          //合并开始列的行
      27:          else
      28:          {
      29:              MergeRow(gv, i, init.StartRowIndex, init.EndRowIndex);
      30:          }
      31:      }
      32:  }

    这个方法是最后在程序中调用的方法。

    最后写个简单的例子:

    页面代码:

       1:  <asp:GridView ID="Gridview1" runat="server" AutoGenerateColumns="false" 
       2:      onrowdatabound="Gridview1_RowDataBound">
       3:      <Columns>
       4:          <asp:BoundField DataField="Name" HeaderText="姓名" />
       5:          <asp:BoundField DataField="Item" HeaderText="工资项" />
       6:          <asp:BoundField DataField="SubItem" HeaderText="工资子项" />
       7:          <asp:BoundField DataField="Month" HeaderText="月份" />
       8:          <asp:BoundField DataField="Money" HeaderText="钱数" />
       9:      </Columns>
      10:  </asp:GridView>

    后台代码:

       1: public partial class WebForm1 : System.Web.UI.Page
       2: {
       3:     protected void Page_Load(object sender, EventArgs e)
       4:     {
       5:         if (!Page.IsPostBack)
       6:         {
       7:             #region 模拟数据
       8:             List<Salary> salaryList = new List<Salary>();
       9:             salaryList.Add(new Salary()
      10:             {
      11:                 Name = "张三",
      12:                 Item = "应发工资",
      13:                 SubItem = "基本工资",
      14:                 Month = "1月",
      15:                 Money = "3000"
      16:             });
      17:             salaryList.Add(new Salary()
      18:             {
      19:                 Name = "张三",
      20:                 Item = "应发工资",
      21:                 SubItem = "奖金",
      22:                 Month = "1月",
      23:                 Money = "500"
      24:             });
      25:             salaryList.Add(new Salary()
      26:             {
      27:                 Name = "张三",
      28:                 Item = "应发工资",
      29:                 SubItem = "奖金",
      30:                 Month = "1月",
      31:                 Money = "130"
      32:             });
      33:             salaryList.Add(new Salary()
      34:             {
      35:                 Name = "张三",
      36:                 Item = "应发工资",
      37:                 SubItem = "奖金",
      38:                 Month = "1月",
      39:                 Money = "150"
      40:             });
      41:             salaryList.Add(new Salary()
      42:             {
      43:                 Name = "张三",
      44:                 Item = "应发工资",
      45:                 SubItem = "加班",
      46:                 Month = "1月",
      47:                 Money = "100"
      48:             });
      49:             salaryList.Add(new Salary()
      50:             {
      51:                 Name = "张三",
      52:                 Item = "应发工资",
      53:                 SubItem = "加班",
      54:                 Month = "1月",
      55:                 Money = "100"
      56:             });
      57:             salaryList.Add(new Salary()
      58:             {
      59:                 Name = "张三",
      60:                 Item = "五险一金",
      61:                 SubItem = "医疗保险",
      62:                 Month = "1月",
      63:                 Money = "500"
      64:             });
      65:             salaryList.Add(new Salary()
      66:             {
      67:                 Name = "张三",
      68:                 Item = "五险一金",
      69:                 SubItem = "住房公积金",
      70:                 Month = "1月",
      71:                 Money = "370"
      72:             });
      73:             salaryList.Add(new Salary()
      74:             {
      75:                 Name = "",
      76:                 Item = "",
      77:                 SubItem = "",
      78:                 Month = "合计",
      79:                 Money = "3500"
      80:             });
      81:             salaryList.Add(new Salary()
      82:             {
      83:                 Name = "张三",
      84:                 Item = "应发工资",
      85:                 SubItem = "基本工资",
      86:                 Month = "2月",
      87:                 Money = "3000"
      88:             });
      89:             salaryList.Add(new Salary()
      90:             {
      91:                 Name = "张三",
      92:                 Item = "应发工资",
      93:                 SubItem = "奖金",
      94:                 Month = "2月",
      95:                 Money = "400"
      96:             });
      97:             salaryList.Add(new Salary()
      98:             {
      99:                 Name = "张三",
     100:                 Item = "应发工资",
     101:                 SubItem = "奖金",
     102:                 Month = "2月",
     103:                 Money = "100"
     104:             });
     105:             salaryList.Add(new Salary()
     106:             {
     107:                 Name = "张三",
     108:                 Item = "应发工资",
     109:                 SubItem = "加班",
     110:                 Month = "2月",
     111:                 Money = "100"
     112:             });
     113:             salaryList.Add(new Salary()
     114:             {
     115:                 Name = "张三",
     116:                 Item = "应发工资",
     117:                 SubItem = "加班",
     118:                 Month = "2月",
     119:                 Money = "100"
     120:             });
     121:             salaryList.Add(new Salary()
     122:             {
     123:                 Name = "张三",
     124:                 Item = "应发工资",
     125:                 SubItem = "加班",
     126:                 Month = "2月",
     127:                 Money = "100"
     128:             });
     129:             salaryList.Add(new Salary()
     130:             {
     131:                 Name = "张三",
     132:                 Item = "五险一金",
     133:                 SubItem = "医疗保险",
     134:                 Month = "2月",
     135:                 Money = "500"
     136:             });
     137:             salaryList.Add(new Salary()
     138:             {
     139:                 Name = "张三",
     140:                 Item = "五险一金",
     141:                 SubItem = "住房公积金",
     142:                 Month = "2月",
     143:                 Money = "370"
     144:             });
     145:             salaryList.Add(new Salary()
     146:             {
     147:                 Name = "",
     148:                 Item = "",
     149:                 SubItem = "",
     150:                 Month = "合计",
     151:                 Money = "3900"
     152:             });
     153:             //----------------------------------------
     154:             salaryList.Add(new Salary()
     155:             {
     156:                 Name = "李四",
     157:                 Item = "应发工资",
     158:                 SubItem = "基本工资",
     159:                 Month = "1月",
     160:                 Money = "3000"
     161:             });
     162:             salaryList.Add(new Salary()
     163:             {
     164:                 Name = "李四",
     165:                 Item = "应发工资",
     166:                 SubItem = "奖金",
     167:                 Month = "1月",
     168:                 Money = "500"
     169:             });
     170:             salaryList.Add(new Salary()
     171:             {
     172:                 Name = "李四",
     173:                 Item = "应发工资",
     174:                 SubItem = "奖金",
     175:                 Month = "1月",
     176:                 Money = "130"
     177:             });
     178:             salaryList.Add(new Salary()
     179:             {
     180:                 Name = "李四",
     181:                 Item = "应发工资",
     182:                 SubItem = "奖金",
     183:                 Month = "1月",
     184:                 Money = "150"
     185:             });
     186:             salaryList.Add(new Salary()
     187:             {
     188:                 Name = "李四",
     189:                 Item = "应发工资",
     190:                 SubItem = "加班",
     191:                 Month = "1月",
     192:                 Money = "100"
     193:             });
     194:             salaryList.Add(new Salary()
     195:             {
     196:                 Name = "李四",
     197:                 Item = "应发工资",
     198:                 SubItem = "加班",
     199:                 Month = "1月",
     200:                 Money = "100"
     201:             });
     202:             salaryList.Add(new Salary()
     203:             {
     204:                 Name = "李四",
     205:                 Item = "五险一金",
     206:                 SubItem = "医疗保险",
     207:                 Month = "1月",
     208:                 Money = "500"
     209:             });
     210:             salaryList.Add(new Salary()
     211:             {
     212:                 Name = "李四",
     213:                 Item = "五险一金",
     214:                 SubItem = "住房公积金",
     215:                 Month = "1月",
     216:                 Money = "370"
     217:             });
     218:             salaryList.Add(new Salary()
     219:             {
     220:                 Name = "",
     221:                 Item = "",
     222:                 SubItem = "",
     223:                 Month = "合计",
     224:                 Money = "3500"
     225:             });
     226:             salaryList.Add(new Salary()
     227:             {
     228:                 Name = "李四",
     229:                 Item = "应发工资",
     230:                 SubItem = "基本工资",
     231:                 Month = "2月",
     232:                 Money = "3000"
     233:             });
     234:             salaryList.Add(new Salary()
     235:             {
     236:                 Name = "李四",
     237:                 Item = "应发工资",
     238:                 SubItem = "奖金",
     239:                 Month = "2月",
     240:                 Money = "400"
     241:             });
     242:             salaryList.Add(new Salary()
     243:             {
     244:                 Name = "李四",
     245:                 Item = "应发工资",
     246:                 SubItem = "奖金",
     247:                 Month = "2月",
     248:                 Money = "100"
     249:             });
     250:             salaryList.Add(new Salary()
     251:             {
     252:                 Name = "李四",
     253:                 Item = "应发工资",
     254:                 SubItem = "加班",
     255:                 Month = "2月",
     256:                 Money = "100"
     257:             });
     258:             salaryList.Add(new Salary()
     259:             {
     260:                 Name = "李四",
     261:                 Item = "应发工资",
     262:                 SubItem = "加班",
     263:                 Month = "2月",
     264:                 Money = "100"
     265:             });
     266:             salaryList.Add(new Salary()
     267:             {
     268:                 Name = "李四",
     269:                 Item = "应发工资",
     270:                 SubItem = "加班",
     271:                 Month = "2月",
     272:                 Money = "100"
     273:             });
     274:             salaryList.Add(new Salary()
     275:             {
     276:                 Name = "李四",
     277:                 Item = "五险一金",
     278:                 SubItem = "医疗保险",
     279:                 Month = "2月",
     280:                 Money = "500"
     281:             });
     282:             salaryList.Add(new Salary()
     283:             {
     284:                 Name = "李四",
     285:                 Item = "五险一金",
     286:                 SubItem = "住房公积金",
     287:                 Month = "2月",
     288:                 Money = "370"
     289:             });
     290:             salaryList.Add(new Salary()
     291:             {
     292:                 Name = "",
     293:                 Item = "",
     294:                 SubItem = "",
     295:                 Month = "合计",
     296:                 Money = "3900"
     297:             });
     298:             //-------------------------------------------
     299:             #endregion
     300:             Gridview1.DataSource = salaryList;
     301:             Gridview1.DataBind();
     302:             MergeGridViewCell.MergeRow(Gridview1, 0, 3);
     303:         }
     304:     }
     305:  
     306:     protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
     307:     {
     308:         if (e.Row.RowType == DataControlRowType.Header)
     309:         {
     310:             e.Row.BackColor = Color.FromArgb(135, 206, 250);
     311:         }
     312:         if (e.Row.RowType == DataControlRowType.DataRow)
     313:         {
     314:             if (e.Row.Cells[3].Text == "合计")
     315:             {
     316:                 e.Row.BackColor = Color.FromArgb(176, 226, 255);
     317:                 e.Row.Cells[0].ColumnSpan = 4;
     318:                 e.Row.Cells[0].Text = "合计";
     319:                 e.Row.Cells[1].Visible = e.Row.Cells[2].Visible = e.Row.Cells[3].Visible = false;
     320:             }
     321:         }
     322:     }
     323: }
     324:  
     325: public class Salary
     326: {
     327:     /// <summary>
     328:     /// 姓名
     329:     /// </summary>
     330:     public string Name { get; set; }
     331:     /// <summary>
     332:     /// 工资项
     333:     /// </summary>
     334:     public string Item { get; set; }
     335:     /// <summary>
     336:     /// 工资子项
     337:     /// </summary>
     338:     public string SubItem { get; set; }
     339:     /// <summary>
     340:     /// 月份
     341:     /// </summary>
     342:     public string Month { get; set; }
     343:     /// <summary>
     344:     /// 钱数
     345:     /// </summary>
     346:     public string Money { get; set; }
     347: }

    GridView运行前后比较:

    2

    源码下载地址:http://pan.baidu.com/share/link?shareid=80747&uk=2466437167


    作者:田念明
    出处http://www.cnblogs.com/nianming/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


    欢迎访问我的个人博客:柠檬树博客


    展开全文
  • 在经过昨天梳理通过日期字段提取年月日、timedelta提取时分秒并进行小时汇总后,今天发现业务需求中里面要求对入职时间和培训时间的信息进行处理分析,结果拿到的数据是一个单元格里存在多个数据,如下 2 发现问题 ...

    将多列单元格中的多个数据拆分为多行数据(explode方法扩展使用)

    手动反爬虫:原博地址

     知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息
    

    如若转载,请标明出处,谢谢!

    1 业务需求

    在经过昨天梳理通过日期字段提取年月日、timedelta提取时分秒并进行小时汇总后,今天发现业务需求中里面要求对入职时间和培训时间的信息进行处理分析,结果拿到的数据是一个单元格里存在多个数据,就需要进行数据的处理,如下。
    在这里插入图片描述

    2 发现问题

    根据昨天梳理的博客,可以直接尝试进行两个字段的相加减的操作,试一下,结果就是因为上面的图示,数据中将两个人的信息填报到一个表格中了,而且两列的数据是一一对应的,那么想要进行时间字段的相加减,就必须将这个多列单元格的多个数据拆分为多行
    在这里插入图片描述

    3 解决问题

    之前介绍的博客中有涉及到单列将单元格中的多个数据拆分为多行数据(explode方法使用),今天遇到的问题却是多列的操作,可以先看一下使用原来的方法还能不能凑效,还是以官网的数据为例,再添加一列C,值为复制A列中的内容

    import pandas as pd
    df = pd.DataFrame({'A': [[1, 2, 3], 'foo', [], [3, 4]], 'B': 1,'C':[[1, 2, 3], 'foo', [], [3, 4]]})
    df
    

    输出结果为:
    在这里插入图片描述
    然后使用explode()方法,分别对AC两列进行处理,可以发现这种两次的explode会把两列的所有的可能性都组合起来,但是实际上的数据是一一对应的,比如一个单元格有两个时间数据,那么就对应两个人,另一列同一行的数据也是这两个人的特征,因此应该保证一致性
    在这里插入图片描述
    故直接使用两次explode是不行的,但是仔细研究发现,可以按照单次的explode然后再进行合并,接着就是尝试一下,结果如下。可以发现原来是四条数据,加上单元格中的多个数据,最终提取的是7条,刚好满足一一对应的关系,因此就完成了将多列单元格中的多个数据拆分为多行数据的目标
    在这里插入图片描述

    4 实际操作

    那么直接对业务数据进行操作,先将两个目标字段进行所需格式的转化,这个在单列将单元格中的多个数据拆分为多行数据(explode方法使用)中提到过,这里直接使用
    在这里插入图片描述
    然后分别对两个字段进行explode,为了验证是否真正的拆分开,先检查一下输出结果,如下
    在这里插入图片描述
    接着对下一个字段拆分最后进行合并,操作结果如下,成功实践完成了业务处理的一个小问题
    在这里插入图片描述
    完结、撒花✿✿ヽ(°▽°)ノ✿

    展开全文
  • 单元格内容提取。 使用在网上下载好的宏文件,将之加载到excel文件中。在对应单元格中填写相应的公式,...将行数据转换成多行,将几列数据打印转换成多几列数据打印(如图)。 ‘ 合并多工作表,工作薄。 ...

    单元格内容提取。

    使用在网上下载好的宏文件,将之加载到excel文件中。在对应单元格中填写相应的公式,提取单元格内容。
    1:加载宏的方式。

    excel使用宏加载

    2:使用宏提取表格中的文字。
    p_pinyin:将汉字转换成拼音存储到单元格中。
    p_num:提取表格中的数字。
    p_phone:将单元格中的电话号提取出来。


    将一行数据转换成多行,将几列数据打印转换成多几列数据打印(如图)。


    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    视频:

    单行或列转换成多行或列

    合并多个工作表,工作薄。

    excel多个工作薄合并,多个表格合并

    展开全文
  • 数据验证-多行行9.圈释无效数据10.快速填充11.汉字中提取数字12.分列-源数据13.数据整理14.合并计算 Excel基本操作(二) 1.选择空单元格 需求:将所有空格填充100 步骤:开始--》查找/选择--》定位条件-...

    Excel基本操作(二)

    1.选择空单元格

    需求:将所有空格填充100
    在这里插入图片描述
    步骤:开始--》查找/选择--》定位条件--》空值--》输入数据--》ctrl+enter
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    2.复制分类汇总结果

    需求:复制可见单元格,不显示隐藏数据
    在这里插入图片描述
    步骤:开始--》查找/选择--》定位条件--》可见单元格,确定之后再复制粘贴
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    3.选中错误单元格

    需求:将错误的单元格修改为0
    在这里插入图片描述
    步骤:开始--》查找/选择--》定位条件--》公式--》错误--》输入数据--》ctrl+enter
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    4.选择性粘贴

    (1)运算
    a.需求:将数据增加比例25%
    在这里插入图片描述

    步骤:选中运算数据--》ctrl+c--》选中被运算数据--》粘贴--》选择性粘贴--》加减乘除--》确定
    在这里插入图片描述
    操作结果:
    在这里插入图片描述
    b.需求:转置(行--》列)
    步骤:选中数据--》ctrl+c--》粘贴--》选择性粘贴--》转置--》确定
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    c.需求:链接图片
    步骤:选中数据--》ctrl+c--》粘贴--》选择性粘贴--》链接图片--》确定
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    注意:随着单元格的修改而修改
    应用场景:动态图表,大盘

    (2)数据转换乘
    需求:将文本型数据转换为数值型数据
    在这里插入图片描述

    步骤:单元格输入1(数值)--》选中--》选中要被修改的数据--》粘贴--》选择性粘贴--》乘--》确定
    在这里插入图片描述
    操作结果:
    在这里插入图片描述
    我们发现还是文本数据,这是可能是因为版本问题,我们直接选中单元格,将其改为数值
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    注意: 文本乘以(选择性粘贴的乘)的结果是文本

    (3)将两列数据合为一列
    需求:将金额插入到对应部门名称下面
    在这里插入图片描述

    步骤:创建辅助列--》添加对应数量的整数--》添加对应数量的小数--》数据--》升序--》扩展选定区域--》复制右栏数据到左栏数据(从第二个空单元格粘贴)--》粘贴--》选择性粘贴--》跳过空单元
    在这里插入图片描述
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    注意:整数数量和小数数量都要保证数据完整性

    5.查找功能统计同填充色个数

    需求:将底色为白色的1000转换为红色的1314
    在这里插入图片描述
    步骤:开始--》查找和选择--》替换--》格式--》从单元格选择格式--》全部替换
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    6.单元格匹配替换

    需求:将0替换为补考
    在这里插入图片描述
    步骤:开始--》查找和选择--》替换--》单元格匹配--》全部替换
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    出现问题:替换时,70中的0也被替换为“补考”。
    单元格匹配:查找的单元格内容必须和查找内容一致

    7.辅助列-隔行插入1空行

    需求:给每一列车次上都要添加一个标题
    在这里插入图片描述
    步骤:添加辅助列整数数据--》添加辅助列小数数据--》数据--》升序--》复制添加内容--》开始--》查找或选择--》定位条件--》空值--》确定--》粘贴
    在这里插入图片描述
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    8.数据验证-多行变一行

    需求:行多列放在一个下拉选框
    在这里插入图片描述
    步骤:公式--》名称管理器--》新建--》名字--》单列(特殊注意)--》数据--》数据验证--》序列--》=mz--》公式--》名称管理器--》编辑--》全选中--》完成
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    注意:顺序不能错,开始设置名称多行多列,不成功

    9.圈释无效数据

    需求:圈出非1到10之间的数据
    在这里插入图片描述

    步骤:数据--》数据验证--》整数--》1到10--》圈出无效数据
    在这里插入图片描述
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    10.快速填充

    方式一:下拉到底部,快速填充
    方式二:ctrl+e

    11.汉字中提取数字

    需求:从汉字中提取数字
    在这里插入图片描述

    方式一:下拉到底部,快速填充
    方式二:ctrl+e
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    12.分列-源数据

    需求:查询有多少国家参加世界杯
    在这里插入图片描述
    步骤:
    (1)将VS替换成, 开始--》查找和选择--》替换
    (2)按,分列 数据--》分列--》逗号
    (3)将第二列剪切到第一列后面
    (4)数据--》删除重复值
    在这里插入图片描述
    在这里插入图片描述
    将第二列剪切到第一列后面,再如下操作:
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    13.数据整理

    需求:将爬取的歌单输入到excel中
    在这里插入图片描述
    步骤:
    (1)数据--》分列--》.--》完成
    (2)复制数据--》粘贴--》转置
    (3)快速填充/ctrl+e
    (4)如果有特殊字符可以使用替换 eg:(藏语--》(藏语)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    我们发现藏语那不完整,可以替换
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    14.合并计算

    需求:将上半年和下半年的数据合并计算
    上半年:
    在这里插入图片描述
    下半年:
    在这里插入图片描述
    全年:
    在这里插入图片描述

    步骤:数据--》合并计算--》添加--》首行--》左列--》确定
    在这里插入图片描述
    操作结果:
    在这里插入图片描述

    展开全文
  • Latex复杂Table设计技巧汇总

    千次阅读 2019-01-15 11:02:24
    整理了一些介绍比较清楚的技巧链接,以及最后展示一个自己的例子。 常用技巧 Latex 表格 偏长或偏短 问题 参考:一行代码解决LaTex表格过宽或过窄问题 Latex 设置表格的列宽度和高度 参考:LaTeX技巧015:设置表格的...
  • 2020-09-24

    2020-09-24 08:52:47
    TOC 文章目录前言:、选择单元格...辅助列八、多行行方法:"右"“尾”,使每末尾数据周围都有数据九、圈释无效数据使用:数据验证- - 圈释 前言: 、选择单元格 把空单元格都标识出来: 查找----定位条件
  • 1.点击一个单元格,选中一行  设置DataGridView的属性SelectionMode(有选择列和选择行) 2.不能选择多行  设置DataGridView的属性MultiSelect为false 3. 窗体传值时获得选中行的参数  用SelectRows.index...
  • 用连字符“&”来合并文本怎样把不同格式不同位置的内容合并到一个单元格内 把不同单元格的内容合到一个单元格里 合并与拆分 合并不同单元格的内容 关于文字在表格中的组合 求拆解合并公式 如何把字母和数字分开? 把...
  • Excel VBA实用技巧大全 附书源码

    热门讨论 2010-10-08 18:59:24
    04054引用多个单元格区域的交叉区域 04055获取计算公式的所有引用单元格 04056获取计算公式中引用的其他工作表单元格 04057获取某个单元格的从属单元格 04058引用某个单元格所在的整个行 04059引用某个单元格所在的...
  • excel常用技巧

    2016-12-28 11:17:00
    复制表格时,如果要加上行标和列标。...单元格拆分:一个地区对应多个情况。通过分类汇总计数后,出现空白值,采用格式刷。 多行变单列:整齐的多行->最后一列的最后一行等于前一列的第一行->拖拽足够长->...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    用连字符“&”来合并文本怎样把不同格式不同位置的内容合并到一个单元格内 把不同单元格的内容合到一个单元格里 合并与拆分 合并不同单元格的内容 关于文字在表格中的组合 求拆解合并公式 如何把字母和数字分开? 把...
  • 例如每个工作簿的第一个工作表的H2单元格都放存了“退货率”,那么本工具可以罗列出所有文件中的退货率,从而便于比较。 上图演示的是绝对地址引用。 07.跨工作表提取单元格:从多个工作表的指定单元格地址中批量...
  •  实例033 制作一个数字猜猜看小游戏 40 实例034 使用goto语句在数组中搜索指定图书 42 第3章 字符串处理技术 44 3.1 字符及字符串转换 45  实例035 将字母全部转换为大写或小写 45  实例036 字母与ASCII...
  • Excel新增工具集

    2011-12-20 09:30:27
    (b)需要合并到一个单元格的数据为文本时用“/”号隔开,数据为数值通过求和合并到一个单元格中。例如,当前工作表或当前工作簿中的若干工作表中A列有张三、李四、王五、李四,有相同列字段“送货”,则本命令把A列...
  • 【合并到选区】将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】合并居中数据,可以保留合并前的所有数据。而且取消合并后可以还原数据,强过Excel自带的合并 ...
  • 【合并到选区】:将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有...
  • 【合并到选区】:将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有数据 ...
  • 支持中英文显示与繁简体操作系统,支持Wista/Win7系统及XP界面、拥有20多款华丽的皮肤界面,支持Excel2007全面隐藏选项卡,这个插件还模拟了一个Excel2003样式的菜单,目的就是方便那些从Excel2003转向使用2007或2010...
  • 隐藏选项卡,这个插件还模拟了一个Excel2003样式的菜单,目的就是方便那些从Excel2003转向使用2007或2010版的朋友使用。 ============================================================================== ...
  • 技巧75 快速插入多个单元格 技巧76 快速改变行列的次序 技巧77 模糊查找数据 第9章 设置单元格格式 技巧78 奇妙的自定义数字格式 技巧79 日期格式变变变 技巧80 自定义数字格式的经典应用 技巧81 ...
  • EXCEL百宝箱8.0终极版

    2011-11-05 16:48:02
    【合并到选区】:将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有数据 ...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    【合并到选区】:将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有数据 ...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    隐藏选项卡,这个插件还模拟了一个Excel2003样式的菜单,目的就是方便那些从Excel2003转向使用2007或2010版的朋友使用。 ===================================================================================...
  • 隐藏选项卡,这个插件还模拟了一个Excel2003样式的菜单,目的就是方便那些从Excel2003转向使用2007或2010版的朋友使用。 ===================================================================================...
  • EXCEL百宝箱.rar

    2012-12-24 14:07:37
    【合并到选区】:将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有数据 ...
  • 隐藏选项卡,这个插件还模拟了一个Excel2003样式的菜单,目的就是方便那些从Excel2003转向使用2007或2010版的朋友使用。 ===================================================================================...
  • 例如,您可使用一个输入掩码来提供自动验证用户输入数据的模板,或选择防止用户编辑特定列。 更好的绘图 通过绘制特殊效果如在适当网格单元内绘制直线,位图以及图标,能让网格显示出您所希望的样式。该版本新增的...
  • Excel百宝箱

    2012-10-27 17:09:21
    【合并到选区】:将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有数据 ...
  • Excel百宝箱9.0无限制破解版

    热门讨论 2012-02-03 19:05:29
    【合并到选区】:将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有数据 ...
  • 因此,您能获得一个容易使用而且非常健壮的网格控件来创建用户友好界面,并且显示,编辑,格式化,组织,汇总以及打印表格数据! 技术特性 分层显示样式 采用有用的新属性和新方法,按最适合您和您用户的方式来...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

多行汇总一个单元格