
Usando Excel, quiero poder ingresar un número (que representa pulgadas) en una celda y que la celda lo muestre como pies y pulgadas. Por ejemplo, si ingreso 62 en la celda A1, quiero que la celda A1 muestre 5' 2". Sé cómo usar una fórmula para tomar la entrada de una celda y convertirla en lo que quiero (es decir, =INT(A1 /12)&"' "&MOD(A1,12)&""""). Pero quiero que la versión convertida se muestre en la misma celda en la que se ingresó la entrada (es decir, si ingreso 62 en la celda A1, Quiero que A1 muestre 5' 2"). Parece que formatear puede ser la única forma de hacerlo, pero no he podido descubrir cómo. ¡Gracias!
Respuesta1
¿Debería ser un formato regular o condicional? Si es regular, deberá especificar el área donde desea que funcione. Si es condicional, debe especificar la condición de activación.
En ambos casos, es necesario utilizar VBA. Supongo que la primera variante (formato normal) del rango A1:C3
. Sólo se formatearán los números positivos (los números negativos y el 0 permanecen sin cambios).
En el módulo estándar, coloque el código de función:
Function FeetIn(data As Double) As String
Dim ft As Long, inch As Double
ft = Int(data / 12)
inch = data - 12 * ft
FeetIn = IIf(ft >= 1, ft & "' ", vbNullString) & _
IIf(inch > 0, inch & "''", vbNullString) ' two apostrophes
End Function
En el módulo de hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, Range("A1:C3"))
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False
Dim cell As Range
For Each cell In Target
If IsNumeric(cell.Value) Then
cell.NumberFormat = """" & FeetIn(cell.Value) & """;-General;0;@"
Else
cell.NumberFormat = "General"
End If
Next cell
Application.EnableEvents = True
End Sub
Respuesta2
Para formatear sin fórmula es necesario utilizar un formato integrado.
Excel tiene un formato para mostrar en pies y pulgadas, donde el número de pies está antes del punto y las pulgadas están en la parte decimal.
Utilice "Formato de celdas...", categoría "Personalizado" e ingrese la siguiente especificación de formato: 0' 0\"
. Modifique este formato según sea necesario.
Eso es lo máximo que puedes hacer con el formato de Excel. Más que eso requieren una fórmula que solo se puede usar con una columna adicional.
Para más información, ver Formatos de números personalizados de Excel.