2016-05-11 21 views
0

Ich habe eine Reihe von Daten ähnlich wie die unten, die ich leicht von einer Zelle trennen muss, damit ich die Packsize extrahieren kann.Wie extrahiert man KG Figur aus Zelle

  • Dogfood A-2786-M 25kg/PAIL
  • Catfood E6601 NS 200 kg/DRUM
  • Catfood SR9050 18.2kg/PAIL
  • Dogfood BU 1000kg/IBC

Das Packmaß kann sich ändern und der Produktname kann unterschiedlich sein, ist aber immer eine Nummer gefolgt von/PAIL,/DRUM oder/IBC

Antwort

1

Wenn Sie dies nicht mit einem Makro tun wollen u n diese Methode verwenden: https://support.office.com/en-us/article/Split-text-into-different-cells-30b14928-5550-41f5-97ca-7a3e9c363ed7

Sie können es auf diese Weise tun (Link zur besseren Erklärung e):

  1. Klicken Sie auf Daten> Text in Spalten
  2. Klicken Sie mit Trennzeichen Weiter>
  3. Verwenden Sie einfach Raum und Andere>/ als Trennzeichen
  4. Klicken Sie auf Weiter
  5. Cho ose das Format der resultierenden Zellen
  6. die Zellen, die Sie Ihre gespaltet Daten wollen wählen

Wenn Sie dies in einem Makro (Excel-VBA-Tag), dann die Split-Funktion verwenden, um tun einfügen wollen: https://msdn.microsoft.com/en-us/library/6x627e5f(v=vs.90).aspx Zuerst mit / als Trennzeichen teilen und nur den ersten Eintrag im resultierenden Array für die Teilung space (" ") verwenden. Von diesem Split erhalten Sie die KGs als letzten Eintrag des resultierenden Arrays.

Die Syntax für die Verwendung der Split-Funktion Ihre Art und Weise ist die folgende:

your_array = split(<your_string>, <delimiter>) 
+0

Ich mag diese Antwort, weil es die Art und Weise zeigt, und nicht der resultierende Code. Aber ich glaube, es wäre noch besser, wenn Sie bereit wären, den Inhalt des ersten Links in Ihrem Beitrag zu rekapitulieren und zu ändern. Nur-Link-Antworten werden nicht gut wahrgenommen, da die Links ablaufen oder an einen anderen Ort verschoben werden können (wodurch Ihre Antwort nutzlos wird). – Ralph

+0

Danke für diesen Hinweis, ich werde dies für die Zukunft berücksichtigen und meine Antwort bearbeiten. @Ralph – freakfeuer

0

Wenn Sie Ihre Daten in einer Spalte ist dann verwenden Sie diese Formel in B1 für A1-Daten und füllen nach unten.

=RIGHT(A1,LEN(A1)-SEARCH("^^",SUBSTITUTE(A1," ","^^",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))+1) 

Folgendes Bild zeigt die Ergebnisse. Image showing sample and formula

HTH

EDIT:

i Ihrer requrementsas nicht ganz sicher war, ob Sie numerische Zahl oder Packmaß wollen. Jedenfalls fand ich eine Formel ziemlich kompliziert. Wenn Sie sich eine andere Helfersäule leisten können, sind die Dinge ziemlich einfach.

Verwenden Sie eine andere Formel in C1 und kopieren Sie nach unten.

=LEFT(B1,FIND("KG",TRIM(B1),1)) 

Screenshot der Ergebnisse wird unten platziert.Sample data to meet OP requirement

Es erschien mir, während ich diese Formel entwarf, dass eine einzige Funktion zu kompliziert sein könnte. Ich werde jedoch die Möglichkeiten einer einzelnen Funktion untersuchen.

+0

Ausgezeichnete Formel das ist, was ich suche, gibt es eine Möglichkeit, die/PAIL,/DRUM oder/IBC ausziehen, wie ich nur die Nummer in diesem Fall will. – user6319689

+0

@ user6319689 zusätzliche Formel in einer Hilfesäule, die für Sie zur Verfügung gestellt wurde, um eine numerische Figur als prima facie zu erhalten Es schien, dass eine einzelne Formel zu kompliziert sein wird. Bitte beachten Sie die Bearbeitung meines Beitrags. – skkakkar

0

Betrachten Sie die folgende benutzerdefinierte Funktion (UDF):

Public Function GetKiloGrams(sIN As String) As Double 
    arr = Split(sIN, " ") 
    GetKiloGrams = 0 
    For Each a In arr 
     If InStr(1, a, "KG") > 0 Then 
      brr = Split(a, "KG") 
      GetKiloGrams = CDbl(brr(0)) 
      Exit Function 
     End If 
    Next a 
End Function 

es die Daten analysiert und gibt den richtigen Wert:

enter image description here

Verwandte Themen