中企动力 > 商学院 > excel表有几列
  • ?

    excel中怎样快速把一个表格分为多个表格

    Joan

    展开

    1.原始数据表如下(名称为:数据源),需要根据B列人员姓名拆分成每个人一个工作表。

    2.点击【开发工具】-【Visual Basic】或者Alt+F11的快捷键进入VBE编辑界面。

    3.如下图所示插入一个新的模块。

    4.如下图,粘贴下列代码在模块中:

    Sub CFGZB()

        Dim myRange As Variant

        Dim myArray

        Dim titleRange As Range

        Dim title As String

        Dim columnNum As Integer

        myRange = Application.InputBox(prompt:="请选择标题行:", Type:=8)

        myArray = WorksheetFunction.Transpose(myRange)

        Set titleRange = Application.InputBox(prompt:="请选择拆分的表头,必须是第一行,且为一个单元格,如:“姓名”", Type:=8)

        title = titleRange.Value

        columnNum = titleRange.Column

        Application.ScreenUpdating = False

        Application.DisplayAlerts = False

        Dim i&, Myr&, Arr, num&

        Dim d, k

        For i = Sheets.Count To 1 Step -1

            If Sheets(i).Name <> "数据源" Then

                Sheets(i).Delete

            End If

        Next i

        Set d = CreateObject("Scripting.Dictionary")

        Myr = Worksheets("数据源").UsedRange.Rows.Count

        Arr = Worksheets("数据源").Range(Cells(2, columnNum), Cells(Myr, columnNum))

        For i = 1 To UBound(Arr)

            d(Arr(i, 1)) = ""

        Next

        k = d.keys

        For i = 0 To UBound(k)

            Set conn = CreateObject("adodb.connection")

            conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName

            Sql = "select * from [数据源$] where " & title & " = '" & k(i) & "'"

            Worksheets.Add after:=Sheets(Sheets.Count)

            With ActiveSheet

                .Name = k(i)

                For num = 1 To UBound(myArray)

                    .Cells(1, num) = myArray(num, 1)

                Next num

                .Range("A2").CopyFromRecordset conn.Execute(Sql)

            End With

            Sheets(1).Select

            Sheets(1).Cells.Select

            Selection.Copy

            Worksheets(Sheets.Count).Activate

            ActiveSheet.Cells.Select

            Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

                                   SkipBlanks:=False, Transpose:=False

            Application.CutCopyMode = False

        Next i

        conn.Close

        Set conn = Nothing

        Application.DisplayAlerts = True

        Application.ScreenUpdating = True

    End Sub

    5.如下图所示,插入一个控件按钮,并指定宏到刚才插入的模块代码。

    6.点击插入的按钮控件,根据提示选择标题行和要拆分的列字段,本例选择“姓名”字段拆分,当然也可以选择C列的“名称”进行拆分,看实际需求。

    7.代码运行完毕后在工作簿后面会出现很多工作表,每个工作表都是单独一个人的数据。具体如下图所示:

    注意:

    1)原始数据表要从第一行开始有数据,并且不能有合并单元格;

    2)打开工作簿时需要开启宏,否则将无法运行代码。

    (本文内容由百度知道网友茗童贡献)

  • ?

    如何在Excel快速插入多列或多行?这个方法真的好简单!

    游弋

    展开

    作为办公室的职员,经常会用到Excel做各种各样的表格,有时掌握一些小技巧,会大大提高我们的工作效率。

    1、比如下列Excel表格在A列的前面再插入3列,我们可以选择A列,右键插入;这样的话,要插入3次。那有没有什么技巧,让效率提高呢?

    2、我们同时选择A、B、C三列,右键插入。

    3、这时神奇的结果出现了,下面表格姓名所在D列前插入了3列。也就是说需要插入几列,我们选几列就可以插入相同的列数。

    总结,插入的行的方法也是同样的,插入几行就选几行。是不是掌握一个技巧,效率就提高了?快试试吧!

    本百家号:时代新生分享工作、生活、技能方面的经验,愿和您一起成长。请多多收藏或关注哦!

  • ?

    excel数据拆分:将单列拆分成多列的几种方法

    终结

    展开

    有时候我们的Excel表格里只有一列数据,如果需要打印出来的话,就是下面这样子的:

    浪费纸不说,还很丑,这样打印的表格你真的敢拿给老板看吗?

    对于这样的数据,就需要把一列平均分配到多列,通常有两种方法来实现,先来看看操作的方法:

    一、操作法将一列数据变成多列

    步骤1:先设计好需要拆分为几列,然后将标题手动做好;

    本例中计划拆分8列。

    步骤2:在c2单元格输入a2,向右拉,Excel会自动为我们填充到a9。

    步骤3:在c3单元格输入a10,向右拉;因为第一行已经到a9了,所以这一行就是a10开始,一直填充到a17。

    步骤4:选中两行一起下拉,假设有160个数据,每行8个,那么下拉20行就够了;

    步骤5:按Ctrl +h组合键打开查找和替换,查找内容为a,替换内容为=a,如下图所示;

    点击全部替换,确定,完成操作。

    步骤6:选择性粘贴为值可删除公式,数据居中加边框,设置打印预览,效果正是我们需要的;

    结论:

    1、如果不是每行8个,只需要调整第一次右拉的个数即可;

    2、操作法的优势是容易上手,更适合新手使用;

    3、但是操作法也有缺点,如果数据不断增加,那么每次都要这样操作也挺麻烦,因此还是需要了解一下公式的做法。

    二、公式法将一列数据变成多列

    还是用这个例子来说明,通常将一列变成多列会用到OFFSET函数,我们先来看看公式是什么样子的:

    =OFFSET($A$1,MOD(COLUMN(A1)+7,8)+ROW(A1)*8-7,)

    只需要将这个公式右拉下拉即可。

    OFFSET这个函数根据偏移量来得到一个新的引用(单元格或者区域)一共有五个参数,格式为:

    OFFSET(起始位置,行偏移量,列偏移量,高度,宽度)。

    本例中起始位置为A1单元格,因为数据源都在一列,并且都是单元格的引用,因此只需要确定行偏移量即可,可以看到公式里只用了两个参数,第二参数是

    MOD(COLUMN(A1)+7,8)+ROW(A1)*8-7。

    单独将这部分显示出来的效果是这样的:

    说通俗点,就是A1向下1行、2行……等等的单元格引用。

    关于这部分需要一点数列构造的基础,不理解的话可以记住套路,想学习数列的构造方法可以留言,我们会针对如何在公式中构造数列来单独讲解一次。

    结论:

    1、如果不是每行8个,只需要将第二参数中的数字7、8做对应调整,例如每行是6个数据的话,公式修改为:=OFFSET($A$1,MOD(COLUMN(A1)+5,6)+ROW(A1)*6-5,)

    2、公式法需要使用者有一定的经验,当数据源发生变化时调整起来非常灵活;拓展性较强。

    看到这里,估计有些伙伴会想:如果数据源不是一列,而是两列或者三列,该怎么办?

    实际上,两列或者三列的数据源在平时工作中更为常见,例如下面这种情况:

    数据源有三列,我们希望变成九列(三组),这样打印起来就非常合理。

    对于这种问题,使用方法1介绍的技巧来实现就比较困难了,还是利用OFFSET函数来处理。

    三、对于多列数据源的处理方法

    公式为:

    =OFFSET($A$1,INT(COLUMN(C1)/3)+ROW(A1)*3-3,MOD(COLUMN(C1),3))

    因为数据源不在同一列了,所以行偏移量和列偏移量都要考虑,因此用到了三个参数,第一参数起始位置还是A1;

    第二参数INT(COLUMN(C1)/3)+ROW(A1)*3-3代表引用数据相对于起始位置A1的行偏移量,单独看的话效果为:

    可以非常清楚的看到变化规律;

    第三参数MOD(COLUMN(C1),3)代表引用数据相对于起始位置A1的列偏移量,单独看的效果为:

    对于这种规律的掌控能力,决定了OFFSET这个函数的使用水平,也正是这个原因使得OFFSET函数令很多初学者摸不着头脑,学习起来始终不得要领。

    今天我们的主要目的并不是学习OFFSET函数,只是学习这个函数的一个应用,就本例来说,记下公式的套路,能够根据自己实际的问题去修改公式后解决问题就足够了。

    学好OFFSET的关键在于对第二和第三两个参数的构造。

    比如上面的问题,数据源是三列,希望变成四组(十二列),第二参数需要变成INT(COLUMN(C1)/3)+ROW(A1)*4-4

    对箭头所指的两个地方进行修改。

    而第三参数=MOD(COLUMN(C1),3)则无需调整;以此类推,只要数据源的列数不变,只需要调整上面提到的两个位置就行了。

    当数据源变成2列的时候,第二参数需要修改为INT(COLUMN(B1)/2)+ROW(A1)*3-3

    还是修改两个位置,C改为B,3改为2,

    同时第三参数列偏移量也要修改:

    =MOD(COLUMN(B1),2)

    也是修改两个地方,C改为B,3改为2。

    以此类推,如果数据源变成4列,则分别修改B为D,2为4。

    通过以上解释,基本可以理解如何根据实际需要去调整公式的对应内容就可以了。要想彻底弄明白这里的奥妙,数列的构造方法是绕不过去的一道坎。

    让我们一起加油学习Excel中那些有趣又实用的技能吧!

    ****部落窝教育-excel单列拆分成多列****

    原创:老菜鸟/部落窝教育(未经同意,请勿转载)

  • ?

    Excel如何快速给多行/列填充同样的内容

    姚南霜

    展开

    我们日常工作中使用Excel填写文本时,有些时候不同的单元格需要填充的内容是一样的,不怎么用Excel的同学可能真的会一个一个单元格去敲文本,还用一种同学会选择Ctrl+C和Ctrl+V来实现,今天我们分享另外两种相对更为快速的方法:

    1、下拉:将对应文本填写至一个单元格中,然后放在单元格的右下角,我们的鼠标就变成了个+号,然后点击鼠标左键下拉或者像右拖即可

    以上的方法简单,但是有个很大的弊端,就是必须是连续的,如果是非连续非规则的,则不好填写,这个时候就比较适用下述的方法了

    2、Ctrl+enter快捷键:首先我们先选中我们所要填写的文本的所在的所有单元格(如果连续直接选择即可,如果不连续则可按着Ctrl键不连续选择,当然如果连续行列比较多,我们也可以选中第一个单元格后按shift键然后点最后一个单元格),选择完毕后,我们直接写所要填写的文本后然后按下Ctrl+enter键即可,具体操作如下:

    以上两个分享虽然简单,但确实我们经常用的,欢迎大家收藏或分享给更多同道中人,谢谢。

  • ?

    多排表工具完美打印多行少列Excel表格

    由从筠

    展开

    有的Excel表格列数很少,而行数却很多。例如下图,有3列,658行数据,在这种情况下直接打印,每张纸的信息量较少,打印效果不够美观,同时纸张得不到充分利用,造成极大的浪费。

    药品价格数据来自网络

    直接打印效果

    多排表制作打印效果

    下面,小编将介绍多排表工具,完美打印多行Excel表格

    运行多排表工具

    多排表工具是用Excel VBA开发的加载宏,用来解决行数多而列数少表格的实用工具,既能使版面更加美观、协调,又能节约大量纸张。使用时只需双击打开即可

    多排表工具.xla

    运行多排表工具:加载项→多排表工具→制作多排表→显示如图程序主界面

    参数说明

    每页排数:源表制作成多排表后,表内所包含的排数

    每排列数:每一排内所包含的列数

    每页行数:源表制作成多排表后,每一页所包含的行数

    起始行号:源表表头下面一行的行号

    终止行号:源表最后一行的行号

    如果多排表参数相对固定,可点击保存参数,下次制作时点击载入参数,就能使用原先保存的参数。

    选项说明

    新增工作表:打钩表示将工作表复制另一份副本,然后在另一份本上进行多排表操作

    生成链接多排表:打钩表示源表内容变化时,多排表内容也随之变化

    清除公式:打钩表示清除多排表内的所有公式,并保留公式单元格的数值

    每页独立横表头:打钩表示多排表各页都有独立的表头

    页末行标注颜色:打钩是为了当多排表采用共享头时,能直观分清各页之间的界限及方便对表进行页面设置

    自动修改表头

    如果选择每页独立横表头并且多排表是2页以上,需要修改表头时,只需改动第1页的表头,然后点击自动修改表头,其余各页的表头便可自动修改完成,内容和格式与第1页相同。

    实例操作

    以下图显示的工作表为例,此表有3列,起始行号为第2行,终止行号为第658行。制表前先设置打印页边距,确定每页打印排数和每排列数。

    注意:源表的第1列应位于A列,A列不能为空列,否则必需重新调整位置。

    打印预览,确定每排行数

    输入参数

    制作完成

    打印预览

    如果要求每排表之间留有一定的间距,只需将第4列设置一定列宽,每排列数增加1即可

    每排4列

    以上就是多排表的介绍了,有需要的朋友可以私聊小编。

    文章推荐

    用Excel提取出生日期、性别、年龄及户口所在地等信息

  • ?

    Excel表格到底有多少行?他花9小时挑战找到最底下一行

    zstone

    展开

    大家应该都有用过Excel,当你做到厌烦时,有没有试过按住往下箭头键,纯粹无聊地想看看这个表格会不会有尽头?这似乎看起来完全没尽头的样子啊,不过国外居然有网友真的尝试了!

    这名叫做Hunter Hobbs 的男生在 ,YouTube 进行了「Excel Challenge」挑战,内容很简单:用手指一直按住箭头键,看看Excel 表格到底有没有尽头,连他自己也指这个是「至今最白痴的挑战 」。

    他很快就知道 Excel 确实不简单,一小时、三小时、五小时过去,依然在「全速前进」。这段期间他唯有靠吃东西、喝能量饮品、玩手机和玩具来打发时间。

    结果在 9 小时 36 分 10 秒之后,Excel 终于停下来了!!原来 Excel 最底的一列是第 1048576 列!!完成这个挑战后 Hunter 表示十分累、极之肚饿,也劝大家不要尝试。另外最多栏数也已经有人找到,不过就少很多:16384 栏。实验莫名脑洞的(!算是稍微解答了疑惑,但怎么有种空虚感啊…

  • ?

    Excel如何两列快速互换位置?多按一个键,轻松就实现

    曹伟泽

    展开

    我们做Excel表格的时候,有时会遇到两列互换位置的情况,比如下表想把B列和C列互换位置。

    有一种方法是:把B列先移动到D列上腾出位置,然后把C列移到B列上,再帮D列移到C列上,从而实现B列和C列互换的目的,这种方法比较繁琐,有没有更简单的方法呢?这里教大家一个技巧。

    1、首先选择C列

    2、光标放在C和年龄之间线上时,光标变成十字箭头时,按下Shift键 ,同时拖动鼠标到A列和B列之间的竖线上,这时有一条竖的光标虚线出现时松开鼠标。

    3、最终就实现了B列和C列的互换位置

    总结:注意要按下Shift键,并注意光标的变化情况。

    本百家号:时代新生分享工作、生活、技能方面的经验,愿和您一起成长。请多多收藏或关注哦!

  • ?

    一张Excel工作表,最多可以包括多少行和多少列?

    虔诚

    展开

    1、一张Excel工作表,对于是office excel 2003及以下版本最大行数为65536行,最大列数256列;对于是office excel 2007及以上版本最大行数为1048576行,最大列数为16384列。

    2、以下为office excel 2003和office excel 2007文档最大行列图。

    1为office excel 2003文档最大行列数

    2为office excel 2007文档最大行列数

    (本文内容由百度知道网友344169037贡献)

  • ?

    excel表格技巧:如何轻松让表格一列变两列

    无极

    展开
    浏览器版本过低,暂不支持视频播放

    第一步:打开表格,选中需要分的列,点击“数据”选择“分列”

    第二步:在跳出的弹窗中选择“固定宽度”点击“下一步”

    第三步:在数据预览下面点击鼠标选择要分列的位置,拖拽到合适的位置后点击“下一步”

    第四步:这时候你会看到分列的预览效果,如果没问题点击“完成”。至此分列完成

    知识点:有时候我们需要的分列的表格并不像上面截图中那样需要分裂的地方整齐,如果遇到这种情况,我们不能再选择“固定宽度”而是要选择“分隔符号”。但如果利用分割符号的话我们就需要在数据中键入分割符号(如图)

    键入分隔符号后,再点击分列 选择“分割符号”点击“下一步” 选择“其他”在其他选框后面输入分隔符号再“点一步”即可完成

  • ?

    Excel表格最多支持多少列?这次终于有答案了

    席青筠

    展开

    当你做Excel表格做到意兴阑珊时,有没有试过按住向下箭头键,纯粹无聊地想看看这个表会不会有尽头?相信你很快就已经放弃了这个试验,因为似乎没有尽头的样子。不过现在终于有人切切实实来做一次!

    图片来自youtube

    这个叫Hunter Hobbs的男生在YouTube进行了“Excel Challenge”挑战,内容很简单:用手指一直按住箭头键看看Excel表格到底有没有尽头,如果有又在哪里。连他自己也指这个是“最至今白痴的挑战”。

    他很快就知道Excel确实不简单,一小时、三小时、五小时过去,依然在“全速前进”。这段期间他唯有靠吃东西、喝能量饮品、玩手机和玩具来打发时间。结果在9小时36分之后,Excel终于停下来了:原来Excel最底的一列是第1048576列!

    图片来自youtube

    完成这个挑战后Hunter表示十分累、极之肚饿,也劝大家不要尝试。另外最多栏数亦已经有人找到,不过就少很多:16384栏。

excel表有几列

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP