Exceli jalad tollidesse - Exceli näpunäited

Lang L: none (table-of-contents)

Värskendage 2017. aasta märtsi

Dan Ashbyl on saadaval täiustatud funktsioon jalad-tollid-in-excel.

Mul on Exceli arvutustabel pikkuste veeruga formaadis 12 '6 7/8 ". Kuidas saan Exceli abil selle teisendada kümnendkohtadeks? Ma ei taha veergu jagada kaheks osaks. Siis kuidas kas ma saan Excelis tagasi jaladeks ja tollideks teisendada ?.

Allpool näidatud kohandatud funktsiooni jalad () võtavad teie kirjeldatud vormingus tekstivälja ja teisendavad selle kümnendkohtadeks.

Kohandatud funktsioon LenText teisendab kümnendkohtade arvu jalgu tekstiväljaks, mis näitab jalgu, tolli ja murdosa tolli täpsusega 1/32 ".

Kohandatud funktsiooni sisestamiseks toimige järgmiselt.

  • Käivitage VB redaktor alt-F11-ga.
  • Sisesta> Moodul.
  • Sisestage> Protseduur.
  • Sisestage protseduuri nimeks jalad ja märkige, et see on funktsioon.
  • Seejärel kopeerige järgmine kood:

    Public Function feet(LenString As String) Dim FootSign As Integer Dim InchSign As Integer Dim SpaceSign As Integer Dim FracSign As Integer Dim InchString As String Dim Word2 As String ' Copyright 1999, 2005.com LenString = Application.WorksheetFunction.Trim(LenString) 'The find function returns an error when the target is not found 'Resume Next will prevent VBA from halting execution. On Error Resume Next FootSign = Application.WorksheetFunction.Find("'", LenString) If IsEmpty(FootSign) Or FootSign = 0 Then ' There are no feet in this expression feet = 0 FootSign = 0 Else feet = Val(Left(LenString, FootSign - 1)) End If ' Handle the case where the foot sign is the last character If Len(LenString) = FootSign Then Exit Function ' Isolate the inch portion of the string InchString = Application.WorksheetFunction.Trim(Mid(LenString, FootSign + 1)) ' Strip off the inch sign, if there is one InchSign = Application.WorksheetFunction.Find("""", InchString) If Not IsEmpty(InchSign) Or InchSign = 0 Then InchString = Application.WorksheetFunction.Trim(Left(InchString, InchSign - 1)) End If ' Do we have two words left, or one? SpaceSign = Application.WorksheetFunction.Find(" ", InchString) If IsEmpty(SpaceSign) Or SpaceSign = 0 Then ' There is only one word here. Is it inches or a fraction? FracSign = Application.WorksheetFunction.Find("/", InchString) If IsEmpty(FracSign) Or FracSign = 0 Then 'This word is inches feet = feet + Val(InchString) / 12 Else ' This word is fractional inches feet = feet + (Val(Left(InchString, FracSign - 1)) / Val(Mid(InchString, FracSign + 1))) / 12 End If Else ' There are two words here. First word is inches feet = feet + Val(Left(InchString, SpaceSign - 1)) / 12 ' Second word is fractional inches Word2 = Mid(InchString, SpaceSign + 1) FracSign = Application.WorksheetFunction.Find("/", Word2) If IsEmpty(FracSign) Or FracSign = 0 Then ' Return an error feet = "VALUE!" Else If FracSign = 0 Then feet = "VALUE!" Else feet = feet + (Val(Left(Word2, FracSign - 1)) / Val(Mid(Word2, FracSign + 1))) / 12 End If End If End If End Function
  • Korrake funktsiooni nimega LenText. Kasutage seda koodi:

    Public Function LenText(FeetIn As Double) ' This function will change a decimal number of feet to the text string ' representation of feet, inches, and fractional inches. ' It will round the fractional inches to the nearest 1/x where x is the denominator. ' Copyright 1999.com Denominator = 32 ' must be 2, 4, 8, 16, 32, 64, 128, etc. NbrFeet = Fix(FeetIn) InchIn = (FeetIn - NbrFeet) * 12 NbrInches = Fix(InchIn) FracIn = (InchIn - NbrInches) * Denominator Numerator = Application.WorksheetFunction.Round(FracIn, 0) If Numerator = 0 Then FracText = "" ElseIf InchIn>= (11 + (31.4999999 / 32)) Then NbrFeet = NbrFeet + 1 NbrInches = 0 FracText = "" ElseIf Numerator = Denominator Then NbrInches = NbrInches + 1 FracText = "" Else Do ' If the numerator is even, divide both numerator and divisor by 2 If Numerator = Application.WorksheetFunction.Even(Numerator) Then Numerator = Numerator / 2 Denominator = Denominator / 2 Else FracText = " " & Numerator & "/" & Denominator Exit Do End If Loop End If LenText = NbrFeet & "' " & NbrInches & FracText & """" End Function

Veerg A näitab algteksti. Veerg B teisendab kõik väärtused, mis sisaldavad jalgu, tolli ja / või murdosa tolli, korrektselt jalgadeks.

Pange tähele, et kui te ei pane jalamärki, eeldatakse, et väärtus on toll. (rida 12). Kui tollide murdosa ei kehti, väärtus! tagastatakse (rida 13).

Märkus. Tänu Dale Richmondile Kansas Cityst, kes esitas 2007. aasta oktoobris värskenduse, et vältida 1 jalga 12 tolli vastust, kui funktsioonile edastatakse arv, mis on suurem kui 1,999.

Huvitavad Artiklid...