首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要excel公式,将数字"9“分别减去每个数字和

需要excel公式,将数字"9“分别减去每个数字和
EN

Stack Overflow用户
提问于 2016-05-14 02:12:16
回答 3查看 86关注 0票数 0

我要你找点乐子。我需要一些特别的东西。

首先,我必须解释一下我在做什么。我对零售店的产品价格使用了一个简单的编码,因为我不想让人们知道自己的真实价格。所以我把原来的数字改为另一个,减去每个数字的9。通常,我会为每一种产品手工写下所有的价格。

所以..。例如,数字10应该是89。(9-1 = 8)和(9-0 = 9)其他例子:

  1. 128美元= 871美元
  2. 75美元= 24
  3. 236美元= 763美元
  4. $9 =0

最后,我在编码价格的开头放了2个数字9 (9),以迷惑那些认为这个数字可能是价格的人。

所以我之前用过的例子如下:

  1. 99871 (意为$128)
  2. 9924 (意为75美元)
  3. 99763 (平均$236)
  4. 990 (意为$9)

记住,在实际价格之前,我需要2(2)个9。真正的价格从来都不是从0开始的,所以,最初的九元只是为了迷惑人们。

好的。所以,既然你明白了,第二部分就来了。我有一个excel,我的产品添加了数百种,价格,描述等。我决定现在是时候使用打印机,并开始打印这些信息从excel。我有一个软件这样做,但首先,我需要有成文的价格在excel中也。

有趣的部分开始时,我想转换真实的价格,已经写在我的excel文档自动成为一个新的列。因此,这样,我不必再键入所有的价格,以成文的形式,为新旧项目,我在未来添加。

有人能帮我吗?有可能吗?

我尝试使用=A1-9999,但它只适用于2个字符号。因为如果实际价格是5,我将得到3个9:9994(代码)。如果价格是234,我只会得到199765(代码)。这是一个条件,我首先需要有两个九。

非常感谢您的进阶!

EN

回答 3

Stack Overflow用户

发布于 2016-05-14 03:53:34

我将使用辅助单元格,但如果需要,可以将其全部转储到一个单元格中,因为您只处理4个字符。

就本例而言,我假设您最初的价目表是从B11开始的。

代码语言:javascript
复制
=IFERROR(9-MID($B11,COLUMN(A1),1),"")

把它放在D11中,再复制三次到右边,这样就可以从D11到G11了。这个公式从你的价格中去掉一个字符,并从9个中减去那个字符。当你进入下一列时,它会重复自己。如果您没有那么多字符,它将返回"“。

在C11中,您将使用以下公式根据相邻的4列构建数字:

代码语言:javascript
复制
="99"&D11&E11&F11&G11

它将99放在前面,然后从相邻的4列中添加数字。

选择单元格C11到G11,并在需要的范围内向下复制并粘贴到数据列旁边。

另一种更简洁的方法是:

代码语言:javascript
复制
=REPT(9,LEN(B11)+2)-B11
票数 0
EN

Stack Overflow用户

发布于 2016-05-14 04:11:01

虽然你已经要求公式,我建议VBA程序,在我看来非常方便。您必须打开VBE并插入一个模块并复制程序。更改代码行,以满足您对工作表等的要求。

代码语言:javascript
复制
Sub NumberCode()
  Dim c As Range
  Dim LR As Integer
  Dim numProbs As Long
  Dim sht As Worksheet
  Dim s As Integer
  Dim v As Long
  Dim v1 As Long
  Set sht = Worksheets("Sheet1") ' change as per yr requirement
  numProbs = 0
  LR = sht.Cells(Rows.Count, "A").End(xlUp).Row
  For Each c In sht.Range("A1:A" & LR).Cells
    s = Len(c)
    v = c.Value
    v1 = 99
    For s = 1 To Len(c)
      v1 = v1 & (9 - Mid(c, s, 1))
    Next
    c.Offset(0, 1).Value = v1
    v1 = 99
    numProbs = numProbs + 1
   Next
  MsgBox "Number coding finished"
End Sub

结果样本表附后。

票数 0
EN

Stack Overflow用户

发布于 2016-05-14 12:23:02

也许我错过了什么,尽管很简单:

=REPT(9,2+LEN(A1))-A1

对我来说很好。

问候

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

https://stackoverflow.com/questions/37221746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档