首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何创建一个excel公式/工作表,根据长度计算出我需要的东西中的多少?

我如何创建一个excel公式/工作表,根据长度计算出我需要的东西中的多少?
EN

Stack Overflow用户
提问于 2017-01-31 17:57:02
回答 1查看 273关注 0票数 0

我是一家定制金属制造公司的项目经理。当我计算出我们需要的结构油管、管道、角度等时,下面是我怎么做的:

  • 写出每个部分的数量和长度。例如:
    • 1x110“
    • 4x107“
    • 3x50“
    • 18x9“

  • 从288开始(通常)减去长度,从最长开始。所以我先从288开始,然后减去110直到我不能再做下去,然后减去更小的值,直到我完全不能再装到金属棒上。上面的例子是288> 178 > 71 > 21 > 12 > 3。这将是第一根棍子。我一直这样做,直到我没有零件为止,这告诉我我需要订购多少支。

我很希望能在excel上做到这一点。我试过想办法,但没有结果。

基本上,我需要什么样的公式才能做到这一点?基本上,这样我就可以输入零件的长度和数量以及棍子的长度,并计算所需的棒数。

注:它绝对不会工作,只要把所有的长度相加,除以棍子的长度。它必须递归(这是正确的词吗?)从棍子长度减去零件长度。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-31 19:18:09

我想过你的问题,我喜欢这个任务,所以我决定写一个快速的宏来帮助你解决你的问题。以下宏的输入应如下所示:

宏的代码如下所示:

代码语言:javascript
运行
复制
Sub CalcPipe()

Dim StartPipeLng As Long, LastLng As Long, TotalLng As Long, PipeName As Long

StartPipeLng = Cells(2, 4).Value ' Picks start value from cell D2

LastLng = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row 'Find last row of loop

TotalLng = Application.WorksheetFunction.SumProduct(Range("A2:A" & LastLng), Range("B2:B" & LastLng))
TotalLng = Application.WorksheetFunction.RoundUp(TotalLng / StartPipeLng, 0)

Cells(5, 4).Value = TotalLng 'Outputs the number of pipes in cell D5

PipeName = 1

    For y = 6 To TotalLng + 5

        Cells(1, y).Value = "Pipe " & PipeName
        PipeName = PipeName + 1
        StartPipeLng = Cells(2, 4).Value

        For x = 2 To LastLng
            If StartPipeLng - Cells(x, 1).Value >= 0 And Cells(x, 2).Value <> Cells(x, 3).Value Then
                StartPipeLng = StartPipeLng - Cells(x, 1).Value
                Cells(x, 3).Value = Cells(x, 3).Value + 1
                Cells(x, y).Value = Cells(x, y).Value + 1
                x = x - 1
            End If
        Next x
    Next y

Columns(3).Clear

End Sub

运行宏后的输出如下所示:

请告诉我宏是否适用于您。请注意,堆栈溢出不是一种编码服务,我为您一次性编写了这篇文章。

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

https://stackoverflow.com/questions/41964352

复制
相关文章

相似问题

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