a.inject(Hash.new(0)) { |hash, id| hash[id] += 1; hash }.invert.min.last
h = a.inject(Hash.new(0)) { |hash, id| hash[id] += 1; hash }
Hash[h.select { |key, val| val == h.values.min }].keys
Деление с остатком (% или modulo) есть отыскание наибольшего целого числа (z), которое в произведении с делителем (b) дает число (q – называется неполным частным), не превышающее делимое (a). Разность между делимым (a) и неполным частным (q) называется остатком от деления (r). Он всегда меньше делителя.
int a = 23; int b = 5;
int z = a / b; // 4 - целочисленное деление
// тоже самое, но через цикл
for (int count = a; count >= b; count -= b) z++; // 4
int q = b * z; // 20 < 23 - ответ на вопрос
int r = a - q; // 3 < 5
// все действия можно записать для Си
int r = a % b; // 3
Пожертвование имущества гражданину должно быть, а юридическим лицам может быть обусловлено жертвователем использованием этого имущества по определенному назначению. При отсутствии такого условия пожертвование имущества гражданину считается обычным дарением, а в остальных случаях пожертвованное имущество используется одаряемым в соответствии с назначением имущества.
Sheets.Shapes.Item(1)
есть свойство Left
и Top
, если второе задаётся значением высоты строки, то первое зависит от множества других параметров. Картинка находится не в ячейке, как это кажется на первый взгляд. Поэтому лучше сразу задавать рисунку имя Shapes.Item(1).Name
.sh2.Shapes.Item(1).Copy
sh1.Pictures.Paste
=ЦЕЛОЕ(ДВССЫЛ("RC";ЛОЖЬ))
With Selection.FormatConditions.Add(Type:=xlCellValue, _
Operator:=xlGreater, Formula1:="=ЦЕЛОЕ(ДВССЫЛ(""RC"";ЛОЖЬ))")
'3456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
.StopIfTrue = False: .SetFirstPriority: .NumberFormat = "0,0#"
End With
Sub Auto_Open()
. Для документа в его модуле нужно использовать процедуру Sub Document_Open()
.ws.defaultwords = ["мир","поиск","русский","буквы","пароход","сороконожка"];
(или что-то похожее) Сохраняем.var letters = new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
и заменяем на текст var letters = new Array("А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ь", "Ъ", "Ы", "Э", "Ю", "Я");
Сохраняем.=СЧЁТЕСЛИ($A:$A;$A1)>1
.=СЧЁТЕСЛИ($A:$A;ЛЕВСИМВ($A1;ДЛСТР($A1)-2)&"??")>1
, но при условии, что у них одинаковая длина.=СЧЁТЕСЛИ($A:$A;ЛЕВСИМВ($A1;ПОИСК("-";$A1;ДЛСТР($A1)-2))&"*")>1
Но если вдруг тире в записи не окажется - неизбежна ошибка, поэтому нужно будет добавить исключение: =СЧЁТЕСЛИ($A:$A;ЕСЛИОШИБКА(ЛЕВСИМВ($A1;ПОИСК("-";$A1;ДЛСТР($A1)-2))&"*";ЛЕВСИМВ($A1;ДЛСТР($A1)-2)&"??"))>1
Sub SaveAsCSVinQuotes()
Dim r As Range, c As Range, s As String
'3456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
s = Application.GetSaveAsFilename(FileFilter:="CSV файлы (*.csv), *.csv", _
Title:="Сохранение CSV в кавычках (укажите разделитель в 1 строке SEP=" _
& Application.International(xlListSeparator) & ")")
If s = "False" Then Exit Sub
Open s For Output As #1
For Each r In ActiveSheet.UsedRange.Rows
s = ""
For Each c In r.Cells
If c.Value2 Like "* *" Then s = s & ";" & """" & c & """" _
Else s = s & ";" & c
Next c: Print #1, Mid(s, 2)
Next r: Close #1
End Sub
И не забудьте экранировать кавычки кавычками, если они будут встречаться в названии колонки.