Testare continut celula

Ce este nou in Microsoft Excel 2010?
Informatii despre cum se utilizeaza Microsoft Excel 2010
Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
Închis
gh19612005
Mesaje: 205
Membru din: Lun Dec 28, 2009 6:10 pm
Localitate: Pitesti

Testare continut celula

Mesaj de gh19612005 » Lun Sep 17, 2018 1:44 pm

Buna ziua
Cum as putea determina, printr-o formula, daca intr-o celula am o constanta numerica sau o formula ce returneaza o valoare numerica.
Functia CELL("contents";) sau CELL("type";) nu ma ajuta...poate avea alt argument?
Multumesc!
G.H.

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Testare continut celula

Mesaj de IPP » Lun Sep 17, 2018 3:23 pm

Buna ziua

Din cate stiu, doar incepand cu Excel 2013 a devenit disponibila functia ISFORMULA() pentru a returna TRUE in cazul in care celula de test contine formula.

Pentru versiunile anterioare de Excel, se poate folosi macro/UDF, de exemplu:

Cod: Selectaţi tot

Public Function ContineFormula(fCell As Range)

 If fCell.HasFormula = True Then
  ContineFormula = True
   Else: ContineFormula = False
 End If
End Function
sau o varianta bazata pe un macro mai "vechi" GET.CELL . Despre cum functioneaza ca principiu s-a mai scris pe forum (in alte contexte), dar cum eu unul nu folosesc asa ceva poate va poate lamuri cineva mai bine.

Daca nu se impune o testare "dinamica", o varianta ar fi sa va folositi de Go To si colorati rezultatul.
Adica: selectati domeniul de celule de interes; apasati Ctrl+G pentru afisarea ferestrei Go to...; apasati Special...; bifati Formulas; Ok. Colorati celulele selectate in urma operatiunii precedente.

IP

Indigo-99
Mesaje: 60
Membru din: Dum Sep 02, 2018 8:21 am

Re: Testare continut celula

Mesaj de Indigo-99 » Lun Sep 17, 2018 10:57 pm

Salut,

Trebuie mentionat ca ambele variante mentionate de IPP (cea cu Ctrl+G .. cat si GET.CELL - care este tot un macro...) nu fac decat sa evidentieze, sa scoata in evidenta celula/celulele dintr-un range, care au sau nu formule, depinzand de formula folosita in in NameManager.
Desigur, aici, strict pentru aceasta discutie este mai util cod VBA.

O functie care va returna continutul celulei, daca nu este folosita o functie, sau functia folosita:

Cod: Selectaţi tot

Function ArataFormula(rng As Range)
    ArataFormula = rng.Formula
End Function
"I don’t pretend we have all the answers. But the questions are certainly worth thinking about."
Sir Arthur C. Clarke

gh19612005
Mesaje: 205
Membru din: Lun Dec 28, 2009 6:10 pm
Localitate: Pitesti

Re: Testare continut celula

Mesaj de gh19612005 » Mar Sep 18, 2018 7:03 am

Am testat si ma ajuta enorm UDF-ul publicat de IP.
Il folosesc intr-o formatare conditionala.
Va multumesc foarte mult!
G.H.

Indigo-99
Mesaje: 60
Membru din: Dum Sep 02, 2018 8:21 am

Re: Testare continut celula

Mesaj de Indigo-99 » Mar Sep 18, 2018 6:01 pm

Ptr formatare conditionata puteai folosi si GET.CELL
"I don’t pretend we have all the answers. But the questions are certainly worth thinking about."
Sir Arthur C. Clarke

gh19612005
Mesaje: 205
Membru din: Lun Dec 28, 2009 6:10 pm
Localitate: Pitesti

Re: Testare continut celula

Mesaj de gh19612005 » Mar Sep 18, 2018 7:51 pm

Un link unde pot gasi aceasta functie?
Am dat o cautare si m-am incalcit in multitudinea de posturi interesante...
G.H.

Indigo-99
Mesaje: 60
Membru din: Dum Sep 02, 2018 8:21 am

Re: Testare continut celula

Mesaj de Indigo-99 » Mar Sep 18, 2018 10:16 pm

Creaza un namerange - sa zicem - IndicatorFormula (evident ca poti pune orice nume doresti) iar la "Se refera la:" foloseste urmatoarea formula:

=GET.CELL(48;INDIRECT("rc",FALSE)).
Apoi selectezi rangeul dorit Iar in CF si pui numele ales.

Acel argument "48" va avea ca rezultat TRUE sau FALSE
"I don’t pretend we have all the answers. But the questions are certainly worth thinking about."
Sir Arthur C. Clarke

gh19612005
Mesaje: 205
Membru din: Lun Dec 28, 2009 6:10 pm
Localitate: Pitesti

Re: Testare continut celula

Mesaj de gh19612005 » Mie Sep 19, 2018 2:18 pm

Da, mi-a luat putin timp pana m-am mai documentat :)
Intr-adevar, functioneaza foarte bine si cu GET.CELL.
Multumesc!
G.H.

Închis

Înapoi la “Intrebari despre Excel 2010”