Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Συναρτήσεις] CONCATENATE If Left Or

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 19-05-12, 07:55
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή CONCATENATE If Left Or

Καλημέρα σας,

Παρακαλώ θα ήθελα την βοήθεια σας.
Θέλω να χρησιμοποιήσω την φόρμουλα:

Κώδικας:
=CONCATENATE(B3," ",IF(LEFT(C3)="MAKER:",CHAR(10),C3))
Και στην περίπτωση που υπάρχει η λέξη «κλειδί» να γίνεται αναδίπλωση κειμένου.
Το ίδιο και όταν υπάρχει και δεύτερη λέξη κλειδί με το OR.

Ευχαριστώ
Θανάσης
Απάντηση με παράθεση
  #2  
Παλιά 19-05-12, 08:35
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Συνονόματε αν και δεν είναι σαφές το ζητούμενο σου.
Δοκίμασε τον παρακάτω τύπο όπου ίσως χρειαστεί να αλλάξεις τα ";" σε "," ανάλογα τις ρυθμίσεις του υπολογιστή σου.
Αν τα περιεχόμενα το C3 αρχίζουν από "MAKER:" ή "KEYWORD" το αποτέλεσμα θα είναι η ένωση των περιεχομένων των B3 και C3 με διαχωριστικό το Διάστημα (space) και την νέα γραμμή (new line char(10)).
Σημαντικό: Το κελί που θα βάλεις τον τύπο πρέπει να έχει τσεκαρισμένη την αναδίπλωση στην μορφοποίηση.

Κώδικας:
=B3&" "&IF(OR(LEFT(C3;LEN("MAKER:"))="MAKER:";LEFT(C3;LEN("KEYWORD"))="KEYWORD");CHAR(10)&C3;"")
Θανάσης
ΥΓ. Το ="a"&"b" είναι ισοδύναμο και προτιμότερο της =CONCATENATE("a";"b")
Απάντηση με παράθεση
  #3  
Παλιά 19-05-12, 09:16
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή

Σε ευχαριστώ πάρα πολύ.

‘Έχω μόνο ένα πρόβλημα, όταν προσπαθώ να βάλω και άλλες λέξεις «κλειδιά» δεν τις δέχεται και βγάζει λάθος.
Κώδικας:
=B3&" "&IF(OR(LEFT(C3,LEN("MAKER:"))="MAKER:",LEFT(C3,LEN("NOT AVAILABLE"))=
"NOT AVAILABLE"),LEFT(C3,LEN("EX STOCK"))="EX STOCK"),CHAR(10)&C3,C3)
Θανάσης

Τελευταία επεξεργασία από το χρήστη Tasos : 19-05-12 στις 10:03.
Απάντηση με παράθεση
  #4  
Παλιά 19-05-12, 10:10
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Θανάση σου ξαναλέω ότι δεν είναι σαφές το ζητούμενό σου.
Θα πρέπει να ανεβάσεις ένα παράδειγμα και να μας πεις ποιο ακριβώς είναι το ζητούμενο.

Στον τύπο που ανέβασες υπάρχει ένα συντακτικό λάθος
Η παρένθεση ")" μετά το ="NOT AVAILABLE") πρέπει να σβηστεί.
Από την άλλη μάλλον έχει και πρόβλημα λογικής γιατί μας λέει ότι αν το C3 αρχίζει από τις λέξεις κλειδιά που έχεις τότε δίνει αποτέλεσμα b3 & char(10) & c3 ενώ αν το Β3 δεναρχίζει με κάποια από τις λέξεις κλειδιά τότε το αποτέλεσμα θα είναι b3 & c3

Σε κάθε περίπτωση δηλαδή θα ενώνει το b3 με το c3 και αν το c3 αρχίζει από τις λέξεις κλειδιά θα παρεμβάλει νέα γραμμή. (char(10))

Ανέβασε παράδειγμα και προσπάθησε να είσαι σαφής στο ζητούμενό σου.

Φιλικά
Θανάσης
Απάντηση με παράθεση
  #5  
Παλιά 19-05-12, 10:19
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα Θανάση!

Έχεις μια παρένθεση παραπάνω:

B3&" "&IF(OR(LEFT(C3;LEN("MAKER:"))="MAKER:";LEFT(C3;LE N("NOT AVAILABLE"))="NOT AVAILABLE");LEFT(C3;LEN("EX STOCK"))="EX STOCK");CHAR(10)&C3;C3)

Καλή συνέχεια.

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 19-05-12, 11:07
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή

Καλημέρα,

Σας ευχαριστώ πάρα πολύ. Έλυσα το πρόβλημα είδα που έκανα λάθος.

Εάν δεν σας κουράζω με τις ερωτήσεις μου, θα ήθελα να μάθω εάν αυτές οι λέξεις κλειδιά που γίνεται η αναδίπλωση μπορούν να είναι μαυρισμένες (bold) ή ακόμη καλύτερα όλη η φράση της αναδίπλωσης (από το κλειδί έως το τέλος). Επισυνάπτω παράδειγμα.

Σας ευχαριστώ εκ των προτέρων και εύχομαι καλό Σαββατοκύριακο.

Θανάσης
Συνημμένα Αρχεία
Τύπος Αρχείου: xls Delivery.xls (42,5 KB, 47 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 19-05-12, 16:35
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Φίλε μου,
το αποτέλεσμα μιας συνάρτησης δεν μπορεί να έχει μίξη μορφοποιήσεων
Αντίθετα όταν έχεις ένα κελί που περιέχει πχ κείμενο και θέλεις να μορφοποιήσεις με έντονη γραφή από την πρώτη αλλαγή γραμμής char(10) και πέρα πρέπει να χρησιμοποιήσεις τον παρακάτω κώδικα.
Κώδικας:
Sub Conc_format()
Dim p As Integer
    p = InStr(1, ActiveCell, Chr(10))
    With ActiveCell.Characters(Start:=p + 1, Length:=Len(ActiveCell) - p).Font
        .FontStyle = "Bold"
    End With
End Sub
Η προσέγγισή σου δεν είναι και πολύ "ορθόδοξη". Εγώ θα διατηρούσα τα περιεχόμενα σε διαφορετικά κελιά και χρησιμοποιώντας μορφοποίηση υπό όρους θα εφάρμοζα την έντονη γραφή όπου χρειαζόταν.

Φιλικά
Θανάσης
Απάντηση με παράθεση
  #8  
Παλιά 19-05-12, 17:24
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή

Αγαπητέ συνονόματε,

Ευχαριστώ γα την απάντησή σου, αλλά δεν κάνει στην περίπτωσή μου.
Και στην περίπτωση που στην αρχή τα είχα σε διαφορετικά κελιά και μετά τα συνέδεα (concatenate) χάνουν την μορφοποίηση τους από Bold σε κανονικά.

Άρα ο μόνον τρόπος που μένει είναι χειροκίνητα.

Φιλικά
Θανάσης
Απάντηση με παράθεση
  #9  
Παλιά 19-05-12, 18:10
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή

Θανάση,

Βρήκα ένα ενδιαφέρον άρθρο στο internet (Humar December 29, 2009 at 06:55:53 Pacific)
που με κάποιες αλλαγές θα μπορούσα να το χρησιμοποιήσω.
Δυστυχώς για μένα δεν ξέρω πως να τις κάνω χρησιμοποιώντας ένα module.
Εάν κάποιος μπορεί να βοηθήσει θα του ήμουν ευγνώμων.

Κώδικας:
Here is a way to bold a list of words inside a longer phrase.
It requires visual basic and it uses the Change event.
For this example three words will be included in the new phrase and will be Bolded.
Put three words in cells E4, E5 and E6:
	E
4	Wayne
5	John
6	big

Put this formula in cell E8:
="Films with "&E6&" film actor "&E5&" "&E4
Now right click on the Sheet name tab at the bottom of the Excel window. This example used Sheet1.

Select View Code
In the window that opens enter this code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim objISect As Range

'this range object is created if the changed range (Target) 
'contains any part of range E4:E6
Set objISect = Intersect(Target, Range("E4:E6"))
'make the changes if the range object has been set (i.e. is Not Nothing)
If Not objISect Is Nothing Then
    'create the new string in cell E9
    Range("E9").Value = Range("E8").Text
    'remove any existing Bold font
    Range("E9").Font.Bold = False
    'now bold each of the words from the list E4:E6
    Range("E9").Characters(InStr(1, Range("E9").Text, Range("E4").Text), _
                        Len(Range("E4").Text)).Font.Bold = True
    Range("E9").Characters(InStr(1, Range("E9").Text, Range("E5").Text), _
                        Len(Range("E5").Text)).Font.Bold = True
    Range("E9").Characters(InStr(1, Range("E9").Text, Range("E6").Text), _
                        Len(Range("E6").Text)).Font.Bold = True
End If
End Sub

To use more words, change the range in the line starting Set objIsect
For a fourth word the line becomes:Set objISect = Intersect(Target, Range("E4:E7"))
and add a new line under the heading 'now bold each of the words from the list E4:E6
Note that there are three lines of code, but each has been split onto two visual lines using the '_' character.
Just copy the last two visual lines, and paste them before End if, and change the E6 to E7 for a fourth word.
When you change any word in your list a new phrase with bolded text appears in cell E9.
Note that when you move cells referenced in this code, the code does not change, so you will have to change
 the code to show the new cell addresses.
Regards
Ευχαριστώ εκ των προτέρων.
Απάντηση με παράθεση
  #10  
Παλιά 19-05-12, 18:50
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα
Θανάση (αναφέρομαι στον ερωτώντα) αν έχω καταλάβει καλά το βασικό σου ερώτημα είναι
Αν στο κελί C2 για παράδειγμα περιλαμβάνετε μια λέξη "κλειδί" τότε να ενωθούν τα κελιά Β2 & C2
και να αλλάξει η γραμμή (αλλά αυτό είναι δευτερεύον προς το παρών)
Αν είναι έτσι τα πράγματα τότε στο παράδειγμα που ανέβασες στο κελί Β6 υπάρχουν και το MAKER: και το NOT AVAILABLE
η ερώτηση μου είναι αν το βασικό σου στήσιμο είναι σωστό και με ποιο κριτήριο επιλέγεις τα δεδομένα του κάθε κελιού που περιέχει λέξη "κλειδί" μιας και δεν μας ανέβασες το αρχικό σου φύλλο και πρέπει να μαντέψουμε κάποια πράγματα...
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Ερωτήματα ] Ερώτημα για concatenate τιμών jockey17 Access - Ερωτήσεις / Απαντήσεις 14 23-06-14 20:03
[ Εκθέσεις ] Concatenate devcon Access - Ερωτήσεις / Απαντήσεις 0 15-05-14 11:56
[VBA] If, move and concatenate devcon Excel - Ερωτήσεις / Απαντήσεις 4 05-07-11 05:29


Η ώρα είναι 11:10.