![Как установить отображаемую точность для комплексного числа в Excel 2010?](https://rvso.com/image/1311361/%D0%9A%D0%B0%D0%BA%20%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D0%B5%D0%BC%D1%83%D1%8E%20%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C%20%D0%B4%D0%BB%D1%8F%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%81%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%87%D0%B8%D1%81%D0%BB%D0%B0%20%D0%B2%20Excel%202010%3F.png)
MS Excel предоставляет набор функций для работы с комплексными числами. При отображении действительных чисел можно задать точность десятичных знаков в диалоговом окне Формат ячеек. Однако это не работает для комплексных чисел.
Как мне установить отображаемую точность комплексного числа? Есть ли пользовательский шаблон, который я могу использовать для этого?
0.98078528040323+0.195090322016128i
-->0.980+0.195i
решение1
Вы можете обернуть свои сложные формулы в UDF, которая выполнит форматирование:
Function FormatComplex(r As Variant, fmt As String) As String
With Application.WorksheetFunction
FormatComplex = Format(.ImReal(r), fmt) & Format(.Imaginary(r), fmt) & "i"
End With
End Function
Назовите это как
=FormatComplex(IMSQRT(-2),"+0.000")
результат:
+0.000+1.414i
решение2
Чтобы добиться этого с помощью формулы (в другой ячейке), вы можете использовать следующее, где ваше неформатированное комплексное число находится в A1
:
=COMPLEX(VALUE(TEXT(IMREAL(A1),"0.000")),VALUE(TEXT(IMAGINARY(A1),"0.000")))