Да се научим да работим с Excel - тема [4]

  • 56 385
  • 335
# 285
Или премахни text to columns delimited (да, действа по цялата хоризонтална дължина на стринга, докъдето стигне ) или виж в настройките file >> options >> advanced. Там има тикче за показване на различните paste опции.
Виж целия пост
# 286
използвам Delimited, но само в 2 колони, а то ми разбрица цялата таблица, че може и други таблици. И не мога да върна опцията с различните видове Paste, Paste-Value и тн, имам само Paste text.

Пробва ли да ги активираш от file>Options>customize the ribbon  да добавиш от там Paste Special и другите Paste
Виж целия пост
# 287
Понеже ми трябва ключ за Win 11 Pro от емаг-а... виждам няколко комплекта с MS Office?
Кой препоръчвате? Не ми трябва за профи неща, но поне да е актуално.
 https://www.emag.bg/windows-11-pro-32-64-bita-i-office-2021-pro- … mbo/pd/D65GBVYBM/
https://www.emag.bg/licenzionen-paket-microsoftr-windows-11-pro- … -81/pd/D083TKYBM/
Виж целия пост
# 288
Има ли функция в Ексел, с която число от клетка А1 в клетка B1 да е изписано с думи?
Виж целия пост
# 289
Няма. ChatGPT  казва, да се използва макроси и дава примерни.

Хрумва ми, че може в друг работен лист да се въведат числата и названията им подередени едно до друго и да връща с LOOKUP  или VLOOKUP в първия работен лист  - тествах с LOOKUP - работи за цели числа.
Виж целия пост
# 290
Да, няма директна функция. Зависи и какви са числата и до колко.
Има вариант с if (ако) len(броя на символите) и left, mid (да хваща определен брой), но това дори не мога да си го подредя в главата в момента. Първо ще са много if във if и второ - са прекалено много сценарии.

Макросът и той ще лежи на такива комбинации и също ще тежи според мен.
Ама пробвай, не пречи.

Иначе да вметна, че питах chatgpt да ми извади членове от законодателството по даден критерий. И имаше измислен член, който разпознах, че няма такава постановка. Като го питах и изкопчих, че го бил прочел във френското право и го сложил на еди- кой си наш член (нямаш нищо общо)

Така че не се доверявайте сляпо.
Виж целия пост
# 291
Заповядай! В скрит текст, че е дълго.

Скрит текст:
Отворете нов Book.

Извикайте Visual Basic Editor - Alt+F11.
Добавете Module.

 

Маркирайте и копирайте следния код:

Function Spell(NumStr, i)
Static Units(20) As String, Decim(9) As String, Hundr(11) As String, Thous(5) As String, Thous1(5) As String
Static Units1(20) As String
Units(0) = ""
Units(1) = "един "
Units(2) = "два "
Units(3) = "три "
Units(4) = "четири "
Units(5) = "пет "
Units(6) = "шест "
Units(7) = "седем "
Units(Sunglasses = "осем "
Units(9) = "девет "
Units(10) = "десет "
Units(11) = "единадесет "
Units(12) = "дванадесет "
Units(13) = "тринадесет "
Units(14) = "четиринадесет "
Units(15) = "петнадесет "
Units(16) = "шестнадесет "
Units(17) = "седемнадесет "
Units(18) = "осемнадесет "
Units(19) = "деветнадесет "
Units1(0) = ""
Units1(1) = "една "
Units1(2) = "две "
Units1(3) = "три "
Units1(4) = "четири "
Units1(5) = "пет "
Units1(6) = "шест "
Units1(7) = "седем "
Units1(Sunglasses = "осем "
Units1(9) = "девет "
Units1(10) = "десет "
Units1(11) = "единадесет "
Units1(12) = "дванадесет "
Units1(13) = "тринадесет "
Units1(14) = "четиринадесет "
Units1(15) = "петнадесет "
Units1(16) = "шестнадесет "
Units1(17) = "седемнадесет "
Units1(18) = "осемнадесет "
Units1(19) = "деветнадесет "
Decim(0) = ""
Decim(1) = "двадесет "
Decim(2) = "тридесет "
Decim(3) = "четиридесет "
Decim(4) = "петдесет "
Decim(5) = "шестдесет "
Decim(6) = "седемдесет "
Decim(7) = "осемдесет "
Decim(Sunglasses = "деведесет "
Hundr(0) = ""
Hundr(1) = ""
Hundr(2) = "сто "
Hundr(3) = "двеста "
Hundr(4) = "триста "
Hundr(5) = "четиристотин "
Hundr(6) = "петстотин "
Hundr(7) = "шестстотин "
Hundr(Sunglasses = "седемстотин "
Hundr(9) = "осeмстотин "
Hundr(10) = "деветстотин "
Thous(0) = ""
Thous(1) = ""
Thous(2) = "хиляди "
Thous(3) = "милиона "
Thous(4) = "милиарда "
Thous1(0) = ""
Thous1(1) = ""
Thous1(2) = "хиляда "
Thous1(3) = "милион "
Thous1(4) = "милиард "
Dim Num, RetStr
RetStr = ""
Num = CInt(NumStr)
If Num = 0 Then
Spell = RetStr
Exit Function
End If
If Num = 1 Then
Select Case i
Case 1
RetStr = "и " & Units(1) & Thous1(1)
Case 2
RetStr = Thous1(2)
Case Else
RetStr = Units(1) & Thous1(i)
End Select
Spell = RetStr
Exit Function
End If
RetStr = RetStr & "и " & Hundr(CInt(Left(NumStr, 1)) + 1)
If CInt(Right(NumStr, 2)) = 0 Then
Spell = RetStr & Thous(i)
Exit Function
End If
If Mid(NumStr, 2, 1) = "0" Or Mid(NumStr, 2, 1) = "1" Then

If i = 2 Then
Spell = RetStr & "и " & Units1(CInt(Mid(NumStr, 2, 2))) & Thous(i)
Else
Spell = RetStr & "и " & Units(CInt(Mid(NumStr, 2, 2))) & Thous(i)
End If
Exit Function
End If
If Right(NumStr, 1) = "0" Then
RetStr = RetStr & Decim(CInt(Mid(NumStr, 2, 1)) - 1)
Else
If i = 2 Then
RetStr = RetStr & Decim(CInt(Mid(NumStr, 2, 1)) - 1) & "и " & Units1(CInt(Right(NumStr, 1)))
Else
RetStr = RetStr & Decim(CInt(Mid(NumStr, 2, 1)) - 1) & "и " & Units(CInt(Right(NumStr, 1)))
End If
End If
Spell = RetStr & Thous(i)
End Function
Function Slov(ByVal Num As Currency)
Static c(5)
Dim NumStr, NumStr1, i, k
If Not IsNull(Num) Then
NumStr = Trim(CStr(Num))
If Num = 0 Then
Slov = "нула"
Exit Function
End If

Dim Buf As String:
If (Num < 0@) Then Buf = "минус " Else Buf = ""
Dim Frac As Currency: Frac = Abs(Num - Fix(Num))
If (Num < 0@ Or Frac <> 0@) Then Num = Abs(Fix(Num))
Dim AtLeastOne As Integer: AtLeastOne = Num >= 1
i = 1
NumStr = Num
Do
If Len(NumStr) > 3 Then
c(i) = Right$(NumStr, 3)
NumStr = Left$(NumStr, Len(NumStr) - 3)
i = i + 1
Else
c(i) = String(3 - Len(NumStr), "0") & NumStr
Exit Do
End If
Loop
NumStr = ""
For k = i To 1 Step -1
NumStr = NumStr & Spell(c(k), k)
Next k
Debug.Print NumStr
If Left(NumStr, 2) = "и " Then
NumStr = Right$(NumStr, Len(NumStr) - 2)
End If
If Left(NumStr, 2) = "и " Then
NumStr = Right$(NumStr, Len(NumStr) - 2)
End If
'стотинки
If (Frac = 0@) Then
Buf = Buf
ElseIf (Int(Frac * 100@) = Frac * 100@) Then
If AtLeastOne Then Buf = Buf & "и "
Buf = Buf & Format$(Frac * 100@, "00")
Else
If AtLeastOne Then Buf = Buf & "и "
Buf = Buf & Format$(Frac * 10000@, "0000")
End If
Slov = NumStr & Buf ' "лв. "
End If
End Function


Върнете се в работния лист и въведете формулата в клетката, в която искате да се изпише числото с думи.

 
Натиснете Enter.

Въведете числото.



Скоро не ми е трябвало, но преди съм пробвала и работеше.


ПС: постът визуализира човече , но е осмица и после затваряща скоба.
Виж целия пост
# 292
Супер!
Виж целия пост
# 293
Soul Free, много полезно! Благодаря!
Виж целия пост
# 294
Не работи правилно.
13345 се чете "Тринадесет хиляди триста четиридесет и пет".
Скрит текст:
Имам разписана формула която работи с backward compatibility до 2010, но авторът ѝ, т.е. аз, държи да се използва само за лични цели. Ако на някого му трябва за такива цели може да ми прати ЛС
Виж целия пост
# 295
Здравейте,
извинявам се за може би елементарния въпрос, но тука във форума е силата.
Имам попълнен на хартия дневник за положен извънреден труд, в който по дати са описани часовете и лекарите.
Данните от дневника ги пренасям на ексел, където искам още като въведа датата да ми слага в следващата колона деня от седмицата и съответно в трета колона да пише дали е работен, почивен или празничен, тъй като за начисляването на извънредния труд има значение деня в който е положен.
След което в пивот ми ги подрежда по критерии които съм избрала.
Питам чатджипити, дава ми готова формула, но явно нещо в настройките се разминаваме и не мога да се справя.
Нагледно искам да стане така
20.06.2025, петък, работен, д-р Иванов, 3ч.
21.06.2025, събота, почивен, д-р Тодорова, 1ч.
Виж целия пост
# 296
За извеждане на името на деня по дата може да използвате следната формула  =TEXT(<дата>;"dddd").
За определяне на работен/почивен ден можете в друг работен лист да създадете таблица с три колони Ден, Вид (Работен/Почивен), Коефициент и в първия работен лист с VLOOKUP() или LOOKUP(). За празничните/официални почивни дни - по същия начин - в отделен работен лист може да въведете датите и срещу тях коефициент за заплащане и отново в първия работен лист да извличате VLOOKUP() или LOOKUP().
Виж целия пост
# 297
За извеждане на името на деня по дата може да използвате следната формула  =TEXT(<дата>;"dddd").
За определяне на работен/почивен ден можете в друг работен лист да създадете таблица с три колони Ден, Вид (Работен/Почивен), Коефициент и в първия работен лист с VLOOKUP() или LOOKUP(). За празничните/официални почивни дни - по същия начин - в отделен работен лист може да въведете датите и срещу тях коефициент за заплащане и отново в първия работен лист да извличате VLOOKUP() или LOOKUP().
Очевидно в мен е проблема, още на първата стъпка ми дава грешка.
Празен ексел, в А1 изписвам 1.06.2025, клетката е форматирана като Дата, копирам вашата формула и  =TEXT(<дата>;"dddd") на това място посочвам колона А1
Виж целия пост
# 298
Rosheen,
ето при мен как изглежда и работи.Без ъгловите скоби, те се използват за формално означение. Дават, че функцията работи от Excel 2016 нагоре. Аз съм с 365.
Виж целия пост
# 299
Не разбрах, определяш дали денят е работен, само не изписва деня или какво?
Скрит текст:
A2 датата, B2 =TEXT(A2;"dddd") C2 = IF(WEEKDAY(A2;2)<=5;IF(WORKDAY(A2-1;1;F2:F4)=A2;"работен";"почивен");"почивен")
Съветвам те, да използваш само вътрешното като в календара F2:F4 вкараш всички почивни и уикенд дни. Така няма да имаш и проблем ако по някаква причина има официална работна събота или неделя.
Като екстра може да си направиш календар по години и да се селектира тази колона от календара която съответства на годината.
Виж целия пост

Започнете да пишете...

Страница 1 от 1

Общи условия