Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 2944 Skopiuj do schowka Sprawdzenie, czy w kolumnie zgadza sie ilosc znakow.
Autor Wiadomość
kudlaty_true 
forumowicz


Posty: 15
Wysłany: 17-09-2007, 12:13   Sprawdzenie, czy w kolumnie zgadza sie ilosc znakow.

Witam. Mam nastepny problem:

Mam kolumne, do ktorej wskanowuje czternastocyfrowe kody kreskowe. Za kazdym razem jest tego troche, cos ponad 1000 wpisow. Problem w tym, ze skaner nie zawsze lapie 14 cyfr. Czasami lapie 8. A chce zrobic "pole sprawdzenia" obok tej kolumny, czyli wygladac ma tak:

Kolumna A to kody kreskowe, a w miejscu B1 ma sie pojawiac komunikat w stylu ZGADZA SIE/NIE ZGADZA SIE w zaleznosci od tego czy w calej kolumnie A sa same 14-cyfrowe kody (dobrze), czy sa inne (zle). Dobrze by bylo, zeby sie tez podswietlalo dwoma kolorami, ale to tylko opcjonalnie.
Wiem, ze trzeba uzyc funkcji JEZELI, ale nie wiem jak to moze wygladac.

Cos w stylu: Jezeli w calej kolumnie A funkcja znajdzie wpis zawierajacy wiecej lub mniej niz 14 cyfr, to wyswietlaj: zle, a jezeli sa same 14, to wyswietl: dobrze.

Prosze o pomoc i z gory dziekuje.
Ostatnio zmieniony przez kudlaty_true 17-09-2007, 12:38, w całości zmieniany 1 raz  
ID posta: 15167 Skopiuj do schowka
 
 
magbo 
Excel Expert



Pomogła: 212 razy
Posty: 614
Wysłany: 17-09-2007, 12:37   

w formatowaniu warunkowym opcja "formuła jest"
=DŁ(A1)<>14
w komórce B1 formuła tablicowa (zatwierdzana ctrl + shift +enter)
=JEŻELI(SUMA(DŁ(A1:A1000))/(ILE.NIEPUSTYCH(A1:A1000)*14)=1;"OK.";"błąd!!!")
ID posta: 15173 Skopiuj do schowka
 
 
zubel 
ExcelSpec



Pomógł: 333 razy
Posty: 566
Wysłany: 17-09-2007, 12:38   

Kod:

=JEŻELI(SUMA(JEŻELI(DŁ($A$1:$A$1000)=14;0;1))=0;"WSZYSTKO DOBRZE";"JEST BŁĄD")

tablicowo czyli ctrl+shift+enter

a kolor to w formatowaniu warunkowym

formuła jest

Kod:

=DŁ(A1)=14
_________________
zubel
Ostatnio zmieniony przez zubel 17-09-2007, 12:44, w całości zmieniany 2 razy  
ID posta: 15174 Skopiuj do schowka
 
 
Eltokar 
ExcelSpec


Pomógł: 175 razy
Posty: 313
Wysłany: 17-09-2007, 12:39   

Jeżeli te kody masz w kolumnie A (Zakładam oczywiście, że format tekstowy) to w b1 wpisz
Kod:
=JEŻELI(DŁ(A1)=14;"OK.";"BŁĄD")
i przeciągnij w dół. Kolory możesz sobie nadać za pomocą formatowania warunkowego.
ID posta: 15175 Skopiuj do schowka
 
 
kudlaty_true 
forumowicz


Posty: 15
Wysłany: 17-09-2007, 12:41   

Hm. To najwyrazniej dziala, ale tylko na jednej komorce. A zakres? Wpisuje kolumne A:A a nie A1 i wyswietla blad.

O. Nie zauwazylem pierwszej odpowiedzi. Formula tablicowa to dokladnie to, o co mi chodzilo. Dziekuje za szybka reakcje!

[ Dodano: 2007-09-18, 12:39 ]
Ok, dobrze, a jesli jeszcze bym chcial dolaczyc do tej formuly

=JEŻELI(SUMA(DŁ(A1:A1000))/(ILE.NIEPUSTYCH(A1:A1000)*14)=1;"OK.";"błąd!!!")

warunek ze jest dobrze, gdy nie ma w calej kolumnie zadnej litery? Same Cyfry.

Czyli jezeli w calej kolumnie sa same 14 znakowe wpisy, BEZ liter, to wtedy dobrze, jak nie to zle. Tutaj trzeba bedzie zagniezdzic jeszcze jedno jezeli, zgadza sie?
ID posta: 15177 Skopiuj do schowka
 
 
magbo 
Excel Expert



Pomogła: 212 razy
Posty: 614
Wysłany: 24-09-2007, 00:30   

taka formula tablicowa:

=ILOCZYN((KOD(FRAGMENT.TEKSTU(sprawdzana_komórka;nr_c;1))>47)*(KOD(FRAGMENT.TEKSTU(sprawdzana_komórka;nr_c;1))<58))

gdzie nr_c to nazwany zakres z liczbami od 1 do 14 daje wynik 1 jeśli w sprawdzanej komórce masz 14cyfr (eśli tekst jest dłuższy - nie sprawdzi).
Można jej użyc w sąsiedniej kolumnie albo w formatowaniu warunkowym - po wisaniu formuły, wybraniu formatu i powrocie do okienka z formułą ctrl +shift +enter i dziala.
Jak wymśle "jednokomórkowy "test poprawności to dam znać.

[ Dodano: 2007-09-24, 01:07 ]
funkcja użytkownika przychodzi mi do głowy :
Kod:
Function Czy_cyfry(Mystring As String)

Dim x As Boolean
Dim Znak As String
Dim i As Integer

x = True

For i = 1 To 14
    Znak = Left(Mystring, 1)
    Mystring = Right(Mystring, 14 - i)
    x = x * IsNumeric(Znak)
Next i
Czy_cyfry = x
End Function
ID posta: 15844 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe