Posts tagged ‘Excel’

In Excel den Monats- und Quartalsersten/-letzten bestimmen

Den ersten und letzten Tag eines Monats bzw. Quartals kann man recht einfach in Excel bestimmen.

Sei in A1 ein Datum, für das die Werte bestimmt werden sollen.

  • Monatserster: =DATUM(JAHR(A1);MONAT(A1);1)
  • Monatsletzter: =DATUM(JAHR(A1);MONAT(A1)+1;1)-1
  • Quartalserster: =DATUM(JAHR(A1);MONAT(A1)-REST(MONAT(A1)-1;3);1)
  • Quartalsletzter: =DATUM(JAHR(A1);MONAT(A1)+REST(3-MONAT(A1);3)+1;)

Hier noch ein paar Datumsformeln:

  • Quartal =AUFRUNDEN(MONAT(A1)/3;0)

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Excel VBA: Zeilen duplizieren

Hier ein kurzes Makro, um den Wert der aktuellen Zelle in der Zeile darunter zu duplizieren.

Sub Makro1()
'
' Makro1 Makro
'
'
    ActiveCell.Offset(1, 0).Select
    Application.CutCopyMode = False
    Selection.EntireRow.Insert
    ActiveCell.Offset(-1, 0).Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveCell.Offset(1, 0).Select
End Sub

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Mit VBA die Namen aller Excel Arbeitsblätter ausgeben

Gelegentlich ist es hilfreich, die Namen aller Arbeitsblätter in einer Excel-Mappe zu kennen. Der folgende VBA Code gibt genau dies aus:

Sub SheetNames()
    For i = 1 To Sheets.Count
        Cells(i, 1) = Sheets(i).Name
    Next i
End Sub

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Strings mit Excel prüfen

Vor kurzem musste ich Pfadangaben in Excel auf Zeichen prüfen, die nicht der Vorgabe (Buchstaben, Ziffern, Leer- und Unterstrich) entsprechen. Folgende VBA Funktion war recht schnell geschrieben und läuft auch recht performant.

Function ContainsBadChar(source As String) As String
 Dim char As String
 For i = 1 To Len(source)
   char = Mid(source, i, 1)
   If ((Asc(char) > 64 And Asc(char) < 91) Or (Asc(char) > 96 And Asc(char) < 123) Or (Asc(char) > 47 And Asc(char) < 58) Or (Asc(char) = 95) Or (Asc(char) = 45)) 
   Then
     ContainsBadChar = "0"
   Else
     ContainsBadChar = "1"
     Exit For
   End If
 Next
End Function

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Excel: Zahl von bestimmten Zeichen in einer Zelle

Auf http://www.herber.de/forum/archiv/616to620/t617816.htm habe ich heute eine einfache Möglichkeit gefunden, die Fundstellen für ein bestimmtes Zeichen in einer Zelle zu zählen.

=LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))

Die Funktion ermittelt die Länge des Strings ohne Vorkommen von ‚.‘ und zieht diese von der Länge mit ‚.‘ ab. Was übrig bleibt ist die Anzahl der ‚.‘ in Zelle A1.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

CUDA mit Excel-Unterstützung

Die kommende Version 3.1 von Nvidias Programmierbibliothek CUDA kommt mit Excel-Unterstützung. Sobald ich Excel 2010 habe, werde ich mir das mal genauer anschauen.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Quartal in Excel bestimmen

Gestern brauchte ich eine Möglichkeit, das Quartal zu einem Datum in Excel zu bestimmen. Erster Ansatz: Auf einem zweiten Arbeitsblatt die Monate 1 bis 12 in Spalte A und die entsprechenden Quartalszahlen in Spalte B. Per SVERWEIS() dann wie in einer Hash-Tabelle den richtigen Wert suchen.

Zweiter, besserer Ansatz: Per Formel

RUNDEN((MONAT(B11)/3+0,4);0)

In Zelle B11 stand das Datum.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

PHPExcel

Habe in einer alten c’t einen Hinweis auf PHPExcel gefunden, eine Bibliothek, die dynamisch Excel Dokumente erzeugen kann.

Hier mal ein „Hello World!“ Beispiel von der Webseite http://phpexcel.codeplex.com:

<?php
/** Error reporting */
error_reporting(E_ALL);
 
/** Include path **/
ini_set('include_path', ini_get('include_path').';../Classes/');
 
/** PHPExcel */
include 'PHPExcel.php';
 
/** PHPExcel_Writer_Excel2007 */
include 'PHPExcel/Writer/Excel2007.php';
 
// Create new PHPExcel object
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();
 
// Set properties
echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
 
 
// Add some data
echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!');
 
// Rename sheet
echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('Simple');
 
 
// Save Excel 2007 file
echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
 
// Echo done
echo date('H:i:s') . " Done writing file.\r\n";

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Mit Excel Dubletten filtern

Kürzlich musste ich wissen, welche Elemente in einer Excelliste nur einmal vorkamen. Die Lösung liegt in der Verwendung der SUMMEWENN-Funktion, das Bild zeigt wie.

excel_summewenn

Um Dubletten herauszulöschen hat Excel auch eine entsprechende Funktion unter Daten => Duplikate entfernen.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website