@marty099
A co si představujete pod pojmem "sofistikovanější řešení"? Excel je tabulkový kalkulátor a textové funkce jsou v podstatě pouze doplňkové.
@all
na druhou stranu jsem ale uvedl, že v excelu téměř neexistuje pojem NEJDE a tak mi to nedalo a také jsem to zkusil
nejdříve se mi líbila funkce DEC2BIN, ovšem pouze do chvíle, kdy jsem zjistil, že pracuje pouze v intervalu od -512 do 511, což je pouze 9 znaků
Maticový
=DEC2BIN(SUMA((B1:B9>C1:C9)*2^(POČET2(B1:B9)-ŘÁDEK(B1:B9)+ŘÁDEK(B1)-1));POČET2(B1:B9))
Pak jsem (nezávisle) dospěl k podobnému řešení jako marjankaj, s tím, že abych se vyhnul 0 na začátku, hodnotím pomocí 1 a 2
Maticový
=""&SUMA(((B1:B15>C1:C15)+1)*10^(POČET2(B1:B15)-ŘÁDEK(B1:B15)+ŘÁDEK(B1)-1))
Tady upřesním, že to bude fungovat max pro 15 řádků, protože excel každé číslo osekává na 15 míst a zbytek doplní nulama (1234567890123456789 oseká na 1234567890123450000)
Takže pokud bych potřeboval opravdu obecné řešení, tak mě bohužel nenapadá jinak, než pomocí vlastní funkce. Např.:
Function COMPARE_AREAS(Range1 As Range, Range2 As Range) As String
Dim sRetValue As String
sRetValue = "#N/A"
If Range1.Columns.Count = 1 Then
If Range1.Columns.Count = Range2.Columns.Count Then
If Range1.Rows.Count = Range2.Rows.Count Then
sRetValue = vbNullString
Dim I As Integer
For I = 1 To Range1.Cells.Count
sRetValue = sRetValue & IIf(Range1.Cells(I).Value > Range2.Cells(I).Value, "A", "N")
Next I
End If
End If
End If
Set Range1 = Nothing
Set Range2 = Nothing
COMPARE_AREAS = sRetValue
End FunctionPříloha: 11430_compare.zip (15kB, staženo 25x) citovat