Если вы хотите получить и установить свойство оба, вы можете использовать это в C # 7:
GetString(
inputString,
(() => client.WorkPhone, x => client.WorkPhone = x))
void GetString(string inValue, (Func<string> get, Action<string> set) outValue)
{
if (!string.IsNullOrEmpty(outValue))
{
outValue.set(inValue);
}
}
=ARRAYFORMULA(IF(LEN(S2:S),
IF((DATEVALUE(S2:S)+TIMEVALUE(S2:S))-
(DATEVALUE(R2:R)+TIMEVALUE(R2:R))<=31.0833333333285, 1,
QUOTIENT((DATEVALUE(S2:S)+TIMEVALUE(S2:S))-
(DATEVALUE(R2:R)+TIMEVALUE(R2:R))-31.0833333333285, 28)+2), ))
=IFERROR(
ARRAYFORMULA(
IF(ISBLANK(T3:T),,
FLOOR(
IF(DATEVALUE($Q2:Q)+TIMEVALUE($R2:R)-DATEVALUE($N2:N)+TIMEVALUE($O2:O)>1,
IF(R2:R-O2:O>0.08263888889,(T2:T-S2:S)+2,(T2:T-S2:S)+1),
(T2:T-S2:S)+1)
,1
)
)
)
Кажется, это лучший способ заставить это работать. Я должен был вставить заявление IF, чтобы я мог вырезать проблему первого дня. Эта странная 0,08 - это истекшее отличие от 2 часов, предположительно.
Я искренне не понимаю ответ, который мне дали от Player0. В моей ситуации есть 3 разных вопроса. Первый день не может добавить +2, если разница составляет более 2 часов. Через день можно. Его странное число было 31.08, так что, возможно, его масштабировали месяцами или что-то в этом роде. Я не мог заставить это работать, хотя, это только возвратило бы '1'. Когда я разбил коэффициент и возился с ним, каждый ответ был по большей части 0. Если есть что-то, чего мне не хватает в этой новой формуле. Я хотел бы получить некоторую информацию.