एक्सेल, लिब्रे कॅल्सी यातील फंक्शन्स व मॅक्रोज वर चर्चा

Submitted by मानव पृथ्वीकर on 11 April, 2023 - 11:33

एक्सेल/लिब्रे कॅल्सी मधील फंक्शन्स बद्दल माहिती/अधिक माहिती हवी आहे, प्रश्न आहेत, मॅक्रोज वापरून छोटे डेटाबेस प्रोजेक्ट करायचे आहेत?
तर त्यासाठी इथे चर्चा करता येईल.

शब्दखुणा: 
Groups audience: 
Group content visibility: 
Public - accessible to all site users

अश्विनीमामी
तुमचा आधीचा प्रतिसाद https://www.maayboli.com/node/83232
Vlook formula टंकताना तो तुमच्या टेबलच्या उजवीकडे ठेवा. मी एक छोटे टेबल तयार केले. पहिल्या रकाना नाव , दुसरा पद, तिसरा पगार...
F1 मध्ये नाव टंकल्यावर तो F2 त formula असल्याने पगार दाखवतो. कॉलम इंडेक्स 2 केला तर हुद्दा दाखवेल.
= Vlookup (Value to be looked up, table range, column index)

यात true , false arguments टाकू शकता. पण आधी हे आले तर ते विशेष नाही.

Screenshot_20230411-192642.png

मला वाटतं त्यांना मराठीत व्हिलुकप करायचं होतं. तिथे अल्फा-न्युमरिक कुठल्याही भाषेत असेल तरी व्हिलुकप करता यायला हवं ना? मराठीत व्हिलुकप काही वेगळं करावं लागतं का?

मला एक मदत हवी आहे. माझ्याकडे एक एक्सेल फाईल आहे त्यात विविध कस्टमर कडे असणार्‍या products वर किती incidents आली आहेत याची माहिती आहे.

त्यात जवळ जवळ ४५० customer व २४० products आहेत. यातून मला फक्त कुठल्या कस्टमर कडे कुठली कुठली products ही माहिती गोळा करायची आहे. हे कसे करता येईल? एका कस्टमरकडे एकापेक्षा जास्त कितीही products असू शकतात.

Pivot वापरायचा प्रयत्न केला पण ४५० रो व २४० कॉलम येतात त्यामुळे माहिती पहायला त्रास होतो. खालील प्रमाणे माहिती हवी आहे..

पहिल्या कॉलममध्ये फक्त customer ची नावे व नंतर च्या कॉलममध्ये त्या customer कडे असणारी विविध products एकाच सेलमध्ये..

trial.JPG

हे कसे करता येईल?

धन्यवाद धागा काढल्या बद्दल. प्राक्टिस करुन बघते. मला एक्सेल बद्दल फार प्रेम आहे. साधे कॉपी व स्पेशल पेस्ट म्हटले तर किती ऑप्शनस येतात. अमाझिन्ग.

दत्तात्रय धन्यवाद.

योगी..आधी vlookup आणि नंतर concatenate वापरता येऊ शकते. पण मानव म्हणाले तसं मूळ data कसा आहे हे कळलं तर नीट सुचवता येईल.

@मानव आणि @punekarp

मूळ data म्हणजे विविध कस्टमर कडे असणार्‍या products वर किती incidents आली आहेत याची माहिती आहे. त्यात incident number, customer नाव व ते incident कुठल्या product वर आले आहे ही माहिती आहे. त्यामुळे एकाच customer कडे एकाच product वर दोन किंवा तीन incidents असू शकतात. तसेच एकाच customer कडे वेगवेगळ्या products वर incident असू शकतात.

मूळ data साधारण खाली दिल्याप्रमाणे आहे.
trial2.JPG

यातून मला फक्त कुठल्या कस्टमर कडे कुठली कुठली products ही माहिती गोळा करायची आहे. बाकीचा data वगळला तरी चालेल. वर दिलेल्या फाईलमधून खाली दिल्याप्रमाणे माहिती गोळा करायची आहे.
trial.JPG

१ कस्टमर व प्रॉडक्ट असे दोनच कॉलम कॉपी करून दुसर्‍या रिकाम्या शीट मध्ये पेस्ट करा.
२ A व B कॉलम मध्ये हेडर सकट पेस्ट करा.
३ A1 व B1 मध्ये हेडर व खाली सर्व डेटा असेल अशी खात्री करा.
४ आता सॉर्ट करून घ्या A व B कोलम वर.
५ =IF(A2=A1,IF(B2=B1,C1,C1&","&B2),B2) हा फॉर्मुला C2 मध्ये पेस्ट करा व खाली कॉपी करा.
६ =IF(A2=A3,"",A2) हा फॉर्मुला ड2 मध्ये पेस्ट करा व खाली कॉपी करा.
७ =IF(A2=A3,"",C2) हा फॉर्मुला ई2 मध्ये पेस्ट करा व खाली कॉपी करा.

@ vijaykulkarni धन्यवाद... याचा खूप उपयोग होईल.

एक छोटा प्रॉब्लेम आहे. जर सेम कस्टमर व सेम प्रॉडक्ट परत एकदा (वेगळा incident) घेऊन आले तर प्रॉडक्टचे नाव परत एकदा अ‍ॅड होते (खाली स्क्रिनशॉट दिले आहे). थोडाफार बदल करून हे मी फिक्स करतो. परत एकदा धन्यवाद.

trial3.JPG

योगी९००, वरचा फॉर्म्युला apply करायच्या आधी पहिले दोन कॉलम सिलेक्ट करून 'data' tab मध्ये 'remove duplicates' वर क्लिक केल्यास तुमचा प्रॉब्लेम solve होईल.

४ आता सॉर्ट करून घ्या A व B कोलम वर.
हे केले तर वरची समस्या येणार नाही, पण मेघना यांची आयडिया बेस्ट आहे.

या प्रकारचे सॉर्टिंग कसे करायचे ते दिलं आहे एक ते सहा विडिओ मध्ये. थोडे बेसिक ते अँडवान्स आहेत. मला वाटतं यातील एखादं उदाहरण उपयोगी पडेल तुमच्यासाठी. तसे विडिओ फार मोठे नाहीत.

समजा A3 आणि B3 या cells मध्ये हेडिंग आहे अनुक्रमे Product1 PNL आणि Multiplier.
A4 to A300 मध्ये मग रोजचे Product1 चे एकूण प्रॉफिट आणि B4 to B300 मध्ये Multiplier आहे ज्याची संख्या 1 ते 10 integer मध्ये असेल.

समजा A4 मध्ये proit 2000 आहे आणि B4 मध्ये multiplier 4 आहे. याचा अर्थ Single multiplier profit 2000/4 = 500 आहे.

आता A2 मध्ये फॉर्म्युला आहे =SUM(A4:A300) म्हणजे त्यात Product1 चे रोजच्या multiplier नुसार एकुण 297 दिवसांचे profit दिसते.

मला A1 मध्ये per multiplier profit हवे आहे 297 दिवसांचे.

सर्वात सोपा उपाय म्हणजे C4 मध्ये =A4/B4 formula देऊन तो C300 पर्यन्त ड्रॅग डाउन करायचा आणि A1 मध्ये फॉर्म्युला टाकायचा =SUM(C4:C300)

पण C आणि D मध्ये Product1 ची इतर माहिती आहे आणि पुढील चार 4 Columns PROUCT2 साठी... असे 25 Products आहेत. आणि प्रत्येक प्रॉडक्टसाठी हे करायचे आहे.

मध्ये कॉलम इन्सर्ट न करता किंवा शेवटले कॉलम न वापरता
A1 मध्ये सरळ फॉर्म्युला द्यायचा आहे.
आता तो असा लिहिता येईल: =SUM(A4/B4, A5/B5, A6/B6......... A300/B300). एवढे फारच लांबलचक टंकत बसणे शक्य नाही. Macro वापरणे शक्यतो टाळायचे आहे. नसेल दुसरा उपाय तरच वापरायचाय.

तर Macro न वापरता काही फंक्शन वापरता येईल का यासाठी?

Type a formula in A1 =sum(A4:A300/B4:B300)
This will result in #VALUE error there, that is OK.
Now press F2 on the A1 cell and press following keys एकसमावच्छेदेकरून SHIFT, CONTROL and ENTER