Jak mogę wykryć, czy niektóre komórki zawierają określoną formułę z określonym tekstem / symbolami?
1. A formula which is =today(), or =date(), or =time()
2. A formula which starts with =(any alphabet letter)
3. A cell which starts with '
4. A formula which ends with any number
Używam formuł w formatowaniu warunkowym.
Dziękuję Ci.
FORMULATEXT
da ci tekst formuły, możesz następnie poszukać w nim dowolnego ciąguOdpowiedzi:
Ans dla 1, 2, n 4:
1a)
=IF(FORMULATEXT(A1)="=TODAY()",1,0)
1b)
=IF(LEFT(FORMULATEXT(A1),5)="=TIME",1,0)
1c) [edytuj rozwiązanie 1b]
2)
=IF(AND(CODE(MID(FORMULATEXT(A1),2,1))>=65,CODE(MID(FORMULATEXT(A1),2,1))<=90),1,0)
[możesz odnieść się do szczegółów kodu () w pliku pomocy .. (:]
4)
=IF(AND(code(right(FORMULATEXT(A1),1))>=48,CODE(right(FORMULATEXT(A1),1))<=57),1,0)
Mam nadzieję, że to pomoże.
uwaga na trzeci kwartał:
formuła prawie zawsze zaczyna się od znaku „=” .. nigdy nie zaczyna się od znaków .. chyba że faktycznie odnosi się do wartości tekstowej .. wtedy możesz użyć if () + left () + edytować rozwiązanie dla Q2.
Podziel się tym, co próbowałeś i nie działało. Pomogę innym zrozumieć, gdzie się trzymałeś i pomogę. (:
źródło
=IF(LEFT(A1,1)="=",1,0)
Odpowiedz na Q3
Otwórz VBA i utwórz makro:
Użyj funkcji niestandardowej,
ZIsApostrophe()
aby sprawdzić, czy komórka zaczyna się od „.Na przykład wpisz,
ZIsApostrophe(A3)
aby sprawdzić, czy komórka A3 zaczyna się od „. Jako wynik zwróci wartość PRAWDA lub FAŁSZ.Źródło: José Augusto
Odpowiedzi na 1, 2 i 4
1a) = JEŻELI (FORMULATEKST (A1) = „= DZISIAJ ()”, 1,0)
1b) = JEŻELI (LEWY (FORMULATEKST (A1), 5) = „= CZAS”, 1,0)
1c) [edytuj rozwiązanie 1b]
2) = JEŻELI (ORAZ (KOD (MID (FORMULATEKST (A1), 2,1))> = 65, KOD (MID (FORMULATEKST (A1), 2,1)) <= 90), 1,0)
[możesz odnieść się do szczegółów kodu () w pliku pomocy .. (:]
4) = JEŻELI (ORAZ (kod (prawy (FORMULATEKST (A1), 1))> = 48, KOD (prawy (FORMULATEKST (A1), 1)) <= 57), 1,0)
Źródło: p. phidot
źródło