Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >缩进选择中的中心对齐最大数

缩进选择中的中心对齐最大数
EN

Stack Overflow用户
提问于 2016-07-01 12:08:00
回答 2查看 96关注 0票数 0

我有一个长期的格式挫折。我经常手动这样做,但手动操作需要花费很长时间,而且必须有一种方法可以用VBA宏、条件格式或巧妙的数字格式来完成。

下面是我想要的结果。它具有以下属性:

  1. 列中的最大数字(在本例中是列中的最后一个数字,$103,420)集中在单元格内。
  2. 然而,单元格中最大的数字不是对齐的,它是正确缩进的,直到值被居中为止。
  3. 列中的所有其他数字也是对的,缩进的数量相等。这是可取的,因为它排列了一个位置,十位等在每一个数字。
  4. 负数用括号表示。
  5. 美元符号与最左边的数字相邻。
  6. 对于大于999的数字,适当地包括逗号。

取得这一成果的途径是:

  1. 应用下列数字格式:$#,##0_);($#,##0)_);$0_);@_)
  2. 手动调整最大数字上单元格的右缩进,以确定它何时大致居中。如果其中一方必须有更多的空间,则在数字的左边留下较大的空间。

我试图应用一种类似于响应this question.的数字格式,具体而言,我使用它的尝试是使用以下数字格式对齐所有单元格:$?,??0;($?,??0);

这将产生下面的关闭结果,但不完全是下面的结果。

关于我如何解决这个问题的想法?我在想象一个宏,它识别所选内容中最大的数字,获取该数字中的数字数,字体大小,列的宽度,进行一些计算,生成所需的右缩进,然后应用右缩进。我只是不知道该怎么做那种计算。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-02 18:38:22

克里斯-你的答案没有达到我的期望(你的答案在美元符号和“最后”数字之间留出了空间,因为数字比集合中最长的数字要短)

但是,您的代码是我想出的解决方案的一个有用的起点。结果显示在下面的图像中,以及这个解决方案的固有缺点--在列中的数字被格式化后,运行一个公式就会产生一个奇怪的数字格式。

我能想出的唯一解决方案没有这个解决方案的问题,那就是依赖于估计一个缩进,并应用它。该解决方案只有在列宽不向前调整的情况下才能工作。如果对其进行调整,则必须重新运行宏。此外,由于缩进只能增加1(且不少于1),应用缩进的宏通常会导致列中的最大数字不精确地居中。这不是什么大不了的事,但我目前的解决方案没有这些问题,在我的用例中,这些格式是格式化电子表格过程中的最后一步,所以不太可能发生额外的计算,如果有,宏就可以根据需要重新运行。

代码语言:javascript
运行
AI代码解释
复制
'Select your data range, and run formatCells_Accounting().  The number formatting in the selected cells will widen to the cell with the longest value.  Note, the macro does not work on values greater than 10^14 (not sure why.)
Sub formatCells_Accounting()
    Dim rg, thisColRange, rCell As Range
    Dim maxVal, minVal, valueLen, longest_, lenLongest As Long

    Set rg = Selection

    'Center aligns all selected cells
    rg.HorizontalAlignment = xlCenter

    'Loops through each column in the selected range so that each column can have it's own max value
    For Each thisColRange In rg.Columns

        maxVal = Application.WorksheetFunction.Max(thisColRange)
        minVal = Application.WorksheetFunction.Min(thisColRange)

        'The longest number in the range may be the most negative
        'This if section accounts for this scenario
        If Abs(minVal) > maxVal Then
            longest_ = minVal
        Else
            longest_ = maxVal
        End If

        'Gets the length of the longest value rounded to the ones place (aka length not including decimals)
        lenLongest = Len(CStr(Round(Abs(longest_), 0)))

        'Creates a number format for every cell
        For Each rCell In thisColRange.Cells
            'Gets the length of the value in the current cell
            valueLen = Len(CStr(Round(Abs(rCell.Value), 0)))
            rCell.NumberFormat = "_(" & addCommasDollarsToFormat(lenLongest, valueLen, rCell.Value) & "_);" & _
                                 "_(" & addCommasDollarsToFormat(lenLongest, valueLen, rCell.Value) & ")_);" & _
                                 "_(" & Left(addCommasDollarsToFormat(lenLongest, 1, rCell.Value), Len(addCommasDollarsToFormat(lenLongest, 1, rCell.Value)) - 1) & "0_);" & _
                                 "_(@_)"
        Next
    Next

End Sub

Function addCommasDollarsToFormat(ByVal lenLongest, ByVal valueLen, ByVal cellVal) As String

    Dim new_str_ As String
    Dim i, j As Long

    'Initializes empty strings
    new_str_ = ""
    nearlyFinishedString = ""

    'Adds ? and , through the length of the value currently being formatted
    For i = 1 To valueLen
        If i Mod 3 = 1 And i <> 1 Then
            new_str_ = new_str_ & ",?"
        Else
            new_str_ = new_str_ & "?"
        End If
    Next

    If cellVal < 0 Then
        new_str_ = new_str_ & "$("
    Else
        new_str_ = new_str_ & "$"
    End If

    For j = i To lenLongest
        If j Mod 3 = 1 Then
            new_str_ = new_str_ & ",?"
        Else
            new_str_ = new_str_ & "?"
        End If
    Next

    addCommasDollarsToFormat = StrReverse(new_str_)

End Function

解决方案可视化与下面显示的解决方案的缺点。

票数 0
EN

Stack Overflow用户

发布于 2016-07-01 20:52:22

代码语言:javascript
运行
AI代码解释
复制
'Select your data range, and run formatCells_Accounting().  The number formatting in the selected cells will widen to the cell with the longest value.  Note, the macro does not work on values greater than 10^14 (not sure why.)

Sub formatCells_Accounting()
Dim rg As Range
Set rg = Selection

maxVal = Application.WorksheetFunction.Max(rg)
minVal = Application.WorksheetFunction.Min(rg)

If Abs(minVal) > maxVal Then
    longest_ = minVal
Else
    longest_ = maxVal
End If

lenLongest = Len(CStr(Round(longest_, 0)))

rg.NumberFormat = "_($" & addCommasToFormat(lenLongest) & "_);" & _
                  "_(($" & addCommasToFormat(lenLongest) & ");" & _
                  "_($" & addCommasToFormat(lenLongest - 1) & "0_);" & _
                  "_(@_)"


End Sub

Function addCommasToFormat(ByVal lenLongest) As String
    str_ = String(lenLongest, "?")
    new_str_ = ""

    For i = 1 To Len(str_)
        If i Mod 3 = 1 And i <> 1 Then
            new_str_ = new_str_ & ",?"
        Else
            new_str_ = new_str_ & "?"
        End If
    Next

    addCommasToFormat = StrReverse(new_str_)
End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38153234

复制
相关文章
Xcode 8新功能介绍
概述 Xcode 8正式版在9月13日已经推送给开发者下载,下载之后就出现了很多编译错误,之前的插件也不能用了,但是发现Xcode8把好多不错的插件功能整合到自身了,感觉这点也挺不错。 结合自己遇
xiangzhihong
2018/02/05
1.7K0
Xcode 8新功能介绍
cleanmymac X有哪些新功能?有必要下载安装吗
CleanMyMac X是一款集所有功能于一身的先进程序卸载清理器,只需两个简单步骤就可以把系统里那些乱七八糟的无用文件统统清理掉,节省宝贵的磁盘空间。CleanMyMac为您喜爱的东西腾出空间。它不仅有着赏心悦目的UI交互页面,更有着强大的“超能力”。无论是清理、优化、软件管理它都能手到擒来。它的操作也十分简单。无论是谁从都可以一次上手。
用户7442547
2023/01/25
8200
YARN的机架感知功能
最近几天做Hadoop机架感知功能时,在网上可以找到很多关于HDFS机架感知的资料,但是对于YARN机架感知的介绍却很少。这篇文章最主要就是说明机架感知功能对于YARN来说起到的作用,若有理解的偏差请指正。谢谢。
醉独醒
2022/05/27
1.2K1
视频智能审核系统的功能 智能审核系统靠谱吗
在这个技术十分发达的时代里,智能的技术可以融入在各个场景当中。尤其是视频智能审核系统,最常应用的是在各个直播平台当中。直播行业是非常流行的,很多平台都开通了直播的功能,但是为了平台的直播内容是绿色且合法的,平台就需要一个审核系统时刻检查各个直播间以及发布视频的内容。
用户8715145
2021/12/31
3.5K0
TensorFlow Hub 更新了,有你期待的功能吗?
自Google推出 TensorFlow Hub 已有一年半了,TensorFlow Hub 是一个开源代码库,可以使用 Google 和 DeepMind 发布的预训练模型。自推出以来,Google发布了数百个模型,有些是通用模型,并可针对特定任务进行微调,而一些模型则更为专业,即使在数据较少或计算能力较弱的情况下,也可以帮助您获得更快、更智能的 ML 应用。
CV君
2020/02/21
1.2K0
XCode新增数据转换功能(导数据)
用法: DAL.AddConnStr("xxgk", "Data Source=192.168.1.21;Initial Catalog=信息公开;user id=sa;password=Pass@word", null, "mssql"); var dal = DAL.Create("xxgk"); DAL.AddConnStr("xxgk2", "Data Source=XXGK.db;Version=3;", null, "sqlite"); File.Delete("XXGK.db"); /
大石头
2018/01/15
7650
Kubenetes NUMA拓扑感知功能介绍
最近的工作内容中涉及到了 NUMA 感知相关的功能,之前没有特意去看过 kubelet 相关部分的实现,也是趁此机会把落下的补补。在看代码的过程中,NUMA 感知部分的逻辑尤其涉及到一些位操作的部分,看的让人头疼,于是从网上搜了搜有关原理的介绍,恰好在官网找到一篇 blog,看完之后再去看代码就会豁然开朗。此篇是对原文的翻译,想阅读原文的可以直接到这里。
李鹤
2023/03/28
1.2K0
Kubenetes NUMA拓扑感知功能介绍
思维的边界,认知智能,从感知智能迈向认知智能
前言:我们正处在认知智能的起步的阶段,还有很多未知的因素,也不知道未来往哪走,但是有一条,无非是要么从知识,要么图谱、要么融合,但是可用肯定前景是无限的。这里有很多的机会,把我们的认知智能,搜索、问答问题、推理这些东西用在工业互联网的很多场景里面,认知智能技术,搜索、回答问题、推理的这些数据用在工业借的很多场景里,认知智能技术蕴藏着巨大的前景。
小马哥学JAVA
2022/12/15
9651
从态势感知到人工智能
在某安全大会上,公司A、B、C三家公司的员工碰到一起聊技术,碰巧3人都在做“态势感知系统”,但是聊着聊着发现:
泉哥
2019/07/18
1.5K0
从态势感知到人工智能
智能汽车车身感知系统详解
本文主要针对车身感知定位系统进行介绍,车身感知主要是感知车辆位置、行驶速度、姿态方位等信息,下文分别介了绍惯性导航、卫星导航系统和高精度地图三种主要的定位技术的发展情况,最后对多融合的车身感知定位系统及发展趋势进行介绍。
一点人工一点智能
2023/03/08
1.2K0
智能汽车车身感知系统详解
Acrobat DC Mac 2023 新版发布,有你期待的功能吗?
Acrobat DC 2023是一款功能强大的PDF文档处理软件,Acrobat DC Mac 2023现已发布,下面我们就来全面了解 一下Acrobat DC Mac 2023 有哪些新功能。
快乐的小丸子
2023/03/19
1K0
人工智能和自动化有区别吗? | 拔刺
自动化这个概念,是由福特汽车公司的机械工程师哈德在1946年的时候提出。理论上自动化是指机械设备系统或整个生产管理过程,在尽可能少用人的情况下,按照既定要求自动工作,实现预期的目标。
镁客网
2018/08/16
1.7K0
人工智能和自动化有区别吗? | 拔刺
Xcode 11 Asset新增自定义color功能
Color可视化定义一直是我期待的内容,以前都是一个文件管理颜色。Xcode 11.2 Asset资源管理新增了一些资源管理,比如这个Color管理。 新建自定义Color ---- 和新增图片一
星宇大前端
2020/01/13
9540
Xcode 11 Asset新增自定义color功能
通往人工智能的感知运动之路
可以说智力始于大约5.5亿年前的寒武纪,当时有了第一只可以移动的多细胞生物。移动给它带来了优势,因为它可以在不同的地方找到食物。但如果你想在不同的地方移动和寻找食物,你需要感知,你需要知道去哪里,这意味着你需要有某种视觉系统或感知系统。就像Gibson所说的:“We see in order to move and we move in order to see.”
用户1324186
2023/09/09
2010
通往人工智能的感知运动之路
数字时钟校时功能_公务员考试考场有钟表吗
医院、学校网络时间同步显示系统是由高精度GPS(北斗)网络母钟、高品质,高稳定性系统网络子钟、智能化控制设备及其它配套设备组成的计时和时钟显示系统,其作用是为保证校园或医院网络提供标准统一的时间服务.
全栈程序员站长
2022/09/20
5940
感知人工智能操作系统
AI即人工智能的又一波浪潮来了。机器学习,深度学习,神经网络,语音识别,图像识别...... 常常充斥我们的耳目。不论是AI赋能产业,还是AI改变生活,有的人停留于想象,有的人却在付诸实践。
半吊子全栈工匠
2019/03/11
1.6K0
感知人工智能操作系统
想学人工智能,有必要出国读本科或硕士吗?
笔者硕士毕业于北京大学计算机专业,期间有幸申请到了澳洲国立大学(Australian National University,简称ANU)的交换机会,对国内外人工智能教育均有所体验。毕业后,有四年一线大数据和人工智能从业经验,对AI行业形成了一些个人理解。
PP鲁
2019/12/26
2.5K0
从感知智能跨越到认知智能,NLP领域要做哪些创新?
欢迎大家关注「澜舟科技」公众号,加入孟子开源社区,一起探索 NLP 领域的前沿技术!
澜舟科技
2022/06/14
7830
从感知智能跨越到认知智能,NLP领域要做哪些创新?
《模式识别与智能计算》感知机模型
感知机模型 按照统计学三要素来写的话: 模型:符号函数 策略:损失函数;误点到超平面的距离之和 算法:利用梯度下降算法进行求解 感知机原理: 感知机模型用来线性判别数据集,什么意思呢就是用一超平面来隔断两个不同的类别,超平面在二维的数据集中就是一条直线,在三维的数据集中就是一个平面,假设有n维的数据,那么划分的超平面为(n-1)维度。如下图二维和三维的情况,蓝色部分为超平面:
Max超
2020/02/13
6130
Apple 系统正式版要发布了,有你期待的功能吗?
Apple操作系统每年例行升级时间到,每年都说的那么牛B,不管是IOS还是Mac os功能已经曝光的差不多了,你需要的功能有出现吗? 每年对系统的升级,其实还是很期待的,但是发现,Apple的系统现在越来越关注一些高科技,很多接地气的使用功能一直没有,还是让人很失望的。 说一说新版系统对我的吸引力吧。 IOS IOS11的新功能:https://www.apple.com/cn/ios/ios-11/ 相机扫码 这个应该是最喜欢的功能了. 我再也不用通过微信扫码,然后safri打开跳转了。 文件管理App
itmifen
2018/04/16
8830

相似问题

Apache Zeppelin有智能感知功能吗?

110

智能感知在XCode中工作吗?

21

附加信息的XCode智能感知

22

像VSCode一样,WebStorm也有智能感知功能吗?

10

Xcode有代码导航功能吗?

52
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文