Სარჩევი
გაკვეთილი აჩვენებს Excel-ში რიგების სვეტებზე გადასვლის სხვადასხვა გზებს: ფორმულები, VBA კოდი და სპეციალური ხელსაწყო.
Excel-ში მონაცემების გადატანა ბევრი მომხმარებლისთვის ნაცნობი ამოცანაა. ხშირად თქვენ აშენებთ კომპლექსურ ცხრილს მხოლოდ იმისთვის, რომ გააცნობიეროთ, რომ აზრი აქვს მის როტაციას უკეთესად ანალიზისთვის ან მონაცემების გრაფიკებში წარმოდგენისთვის.
ამ სტატიაში თქვენ იხილავთ მწკრივების სვეტებად გადაქცევის რამდენიმე გზას (ან სვეტებიდან მწკრივებამდე), რასაც არ უნდა უწოდოთ, ეს იგივეა :) ეს გადაწყვეტილებები მუშაობს Excel 2010-ის ყველა ვერსიაში Excel 365-მდე, მოიცავს ბევრ შესაძლო სცენარს და ხსნის ყველაზე ტიპურ შეცდომებს.
გადააკეთეთ რიგები Excel-ში სვეტებად Paste Special-ის გამოყენებით
დავუშვათ, რომ თქვენ გაქვთ მონაცემთა ნაკრები, რასაც ხედავთ ქვემოთ მოცემული გრაფიკის ზედა ნაწილში. ქვეყნების სახელები ორგანიზებულია სვეტებად, მაგრამ ქვეყნების სია ძალიან გრძელია, ამიტომ სჯობს სვეტები შევცვალოთ მწკრივად, რათა ცხრილი მოერგოს ეკრანს:
რიგების სვეტებზე გადასართავად, შეასრულეთ შემდეგი ნაბიჯები:
- აირჩიეთ ორიგინალური მონაცემები. მთელი ცხრილის სწრაფად შესარჩევად, ანუ ელცხრილის ყველა უჯრედის მონაცემებით, დააჭირეთ Ctrl + Home და შემდეგ Ctrl + Shift + End .
- დააკოპირეთ არჩეული უჯრედები ან მარჯვენა ღილაკით დაწკაპუნებით და აირჩიეთ დააკოპირეთ კონტექსტური მენიუდან ან Ctrl + C დაჭერით .
- აირჩიეთ დანიშნულების დიაპაზონის პირველი უჯრედი.
დარწმუნდით, რომ აირჩიეთ უჯრედი, რომელიცსცადეთ ეს და 70+ სხვა პროფესიონალური ინსტრუმენტი Excel-ისთვის, გეპატიჟებით ჩამოტვირთოთ ჩვენი Ultimate Suite-ის საცდელი ვერსია. გმადლობთ, რომ კითხულობთ და იმედი მაქვს მომავალ კვირას გნახავთ ჩვენს ბლოგზე!
ცდება თქვენი ორიგინალური მონაცემების შემცველ დიაპაზონს, ისე რომ კოპირების არეები და ჩასმის არეები ერთმანეთს არ ემთხვევა. მაგალითად, თუ ამჟამად გაქვთ 4 სვეტი და 10 მწკრივი, გარდაქმნილ ცხრილს ექნება 10 სვეტი და 4 სტრიქონი. - დააწკაპუნეთ მარჯვენა ღილაკით დანიშნულ უჯრედზე და აირჩიეთ განსაკუთრებული ჩასმა კონტექსტური მენიუ, შემდეგ აირჩიეთ Transpose .
დამატებითი ინფორმაციისთვის იხილეთ როგორ გამოვიყენოთ Paste Special Excel-ში.
შენიშვნა. თუ თქვენი წყაროს მონაცემები შეიცავს ფორმულებს, დარწმუნდით, რომ სწორად იყენებთ ფარდობით და აბსოლუტურ მითითებებს იმისდა მიხედვით, უნდა დარეგულირდეს თუ დარჩეს გარკვეული უჯრედებისთვის ჩაკეტილი.
როგორც ახლახან ნახეთ, Paste Special ფუნქცია საშუალებას გაძლევთ შეასრულოთ მწკრივი სვეტიდან (ან სვეტიდან მწკრივში) ტრანსფორმაციები სიტყვასიტყვით რამდენიმე წამში. ეს მეთოდი ასევე აკოპირებს თქვენი ორიგინალური მონაცემების ფორმატირებას, რაც ამატებს კიდევ ერთ არგუმენტს მის სასარგებლოდ.
თუმცა, ამ მიდგომას აქვს ორი ნაკლი , რაც ხელს უშლის მას ტრანსპოზირების სრულყოფილ გადაწყვეტას ეწოდოს მონაცემები Excel-ში:
- ეს არ არის შესაფერისი Excel-ის სრულად ფუნქციონალური ცხრილების როტაციისთვის. თუ დააკოპირებთ მთელ ცხრილს და შემდეგ გახსნით განსაკუთრებული ჩასმა დიალოგს, იხილავთ Transpose ოფციას გამორთული. ამ შემთხვევაში, თქვენ უნდა დააკოპიროთ ცხრილი სვეტების სათაურების გარეშე, ან ჯერ გადაიყვანოთ დიაპაზონში.
- განსაკუთრებული ჩასმა > ტრანსპოზიტი არ აკავშირებს ახალს. მაგიდაორიგინალური მონაცემებით, ამიტომ ის კარგად არის შესაფერისი მხოლოდ ერთჯერადი კონვერტაციისთვის. როდესაც წყაროს მონაცემები იცვლება, თქვენ დაგჭირდებათ პროცესის გამეორება და ცხრილის ხელახლა როტაცია. არავის არ სურს დაკარგოს დრო ერთი და იგივე მწკრივებისა და სვეტების განმეორებით გადართვაზე, არა?
როგორ გადავიტანოთ ცხრილი და დავუკავშიროთ იგი თავდაპირველ მონაცემებს
მოდით, ნახეთ, როგორ შეგიძლიათ გადართოთ რიგები სვეტებზე ნაცნობი Paste Special ტექნიკის გამოყენებით, მაგრამ მიღებული ცხრილი დააკავშირეთ თავდაპირველ მონაცემთა ბაზასთან. ამ მიდგომის საუკეთესო რამ არის ის, რომ როდესაც თქვენ შეცვლით მონაცემებს წყაროს ცხრილში, ამობრუნებული ცხრილი ასახავს ცვლილებებს და განახლდება შესაბამისად.
- დააკოპირეთ სტრიქონები, რომელთა გადაყვანაც გსურთ სვეტებად (ან სვეტებად). უნდა შეიცვალოს რიგებად).
- აირჩიეთ ცარიელი უჯრედი იმავე ან სხვა სამუშაო ფურცელში.
- გახსენით განსაკუთრებული ჩასმა დიალოგი, როგორც ეს წინა მაგალითში იყო აღწერილი და დააწკაპუნეთ ჩასვით ბმული ქვედა მარცხენა კუთხეში:
თქვენ გექნებათ მსგავსი შედეგი:
ეს თქვენს ცხრილს გადააქცევს ცოტა საშინელი, როგორც ხედავთ ქვემოთ მოცემულ ეკრანის სურათზე, მაგრამ არ ინერვიულოთ,კიდევ 2 ნაბიჯი და თქვენ მიაღწევთ სასურველ შედეგს.
ეს ცოტა გრძელი, მაგრამ ელეგანტური გადაწყვეტაა, არა? ამ მიდგომის ერთადერთი ნაკლი არის ის, რომ ორიგინალური ფორმატირება იკარგება პროცესში და მოგიწევთ მისი ხელით აღდგენა (მე გაჩვენებთ ამის გაკეთების სწრაფ გზას შემდგომში ამ სახელმძღვანელოში).
როგორ Excel-ში გადატანა ფორმულების გამოყენებით
Excel-ში სვეტების მწკრივებზე დინამიურად გადართვის უფრო სწრაფი გზაა TRANSPOSE ან INDEX/ADDRESS ფორმულის გამოყენება. წინა მაგალითის მსგავსად, ეს ფორმულები ასევე ინარჩუნებენ კავშირებს თავდაპირველ მონაცემებთან, მაგრამ მუშაობენ ცოტა განსხვავებულად.
შეცვალეთ რიგები სვეტებად Excel-ში TRANSPOSE ფუნქციის გამოყენებით
როგორც მისი სახელი გვთავაზობს, TRANSPOSE ფუნქცია სპეციალურად შექმნილია Excel-ში მონაცემების გადასატანად:
=TRANSPOSE(მასივი)ამ მაგალითში ჩვენ ვაპირებთ გადავიტანოთ სხვა ცხრილი, რომელიც ჩამოთვლის აშშ-ს შტატებს მოსახლეობის მიხედვით:
- დათვალეთ რიგების და სვეტების რაოდენობა თქვენს თავდაპირველ ცხრილში და აირჩიეთ იგივე რაოდენობის ცარიელი უჯრედები, მაგრამ სხვა მიმართულებით.
მაგალითად, ჩვენი ნიმუშის ცხრილი აქვს 7 სვეტს და 6 მწკრივს, მათ შორისსათაურები. ვინაიდან TRANSPOSE ფუნქცია შეცვლის სვეტებს მწკრივებად, ჩვენ ვირჩევთ 6 სვეტისა და 7 მწკრივის დიაპაზონს.
- ცარიელი უჯრედების არჩეული ფორმულით ჩაწერეთ ეს ფორმულა:
=TRANSPOSE(A1:G6)
- რადგან ჩვენი ფორმულა უნდა იქნას გამოყენებული მრავალ უჯრედზე, დააჭირეთ Ctrl + Shift + Enter, რათა ის მასივის ფორმულა გახდეს.
Voilà, სვეტები არის შეიცვალა რიგებად, ზუსტად ისე, როგორც ჩვენ გვინდოდა:
TRANSPOSE ფუნქციის უპირატესობები:
TRANSPOSE ფუნქციის გამოყენების მთავარი უპირატესობა არის რომ შემობრუნებული ცხრილი ინარჩუნებს კავშირს წყაროს ცხრილთან და როდესაც თქვენ შეცვლით წყაროს მონაცემებს, ტრანსპონირებული ცხრილი შესაბამისად შეიცვლება.
TRANSPOSE ფუნქციის სუსტი მხარეები:
- ცხრილის თავდაპირველი ფორმატირება არ არის შენახული კონვერტირებულ ცხრილში, როგორც ხედავთ ზემოთ მოცემულ ეკრანის სურათზე.
- თუ თავდაპირველ ცხრილში არის ცარიელი უჯრედები, ტრანსპონირებული უჯრედები შეიცავენ 0-ს. ამის გამოსასწორებლად გამოიყენეთ TRANSPOSE IF ფუნქციასთან ერთად, როგორც ეს არის ახსნილი ამ მაგალითში: როგორ ხდება ტრანსპოზირება ნულების გარეშე.
- შეგიძლიათ შეცვალოთ რომელიმე უჯრედი შემობრუნებულ ცხრილში, რადგან ის ძალიან არის დამოკიდებული წყაროს მონაცემებზე. თუ ცდილობთ უჯრედის გარკვეული მნიშვნელობის შეცვლას, თქვენ მიიღებთ შეცდომას "თქვენ ვერ შეცვლით მასივის ნაწილს".
შეფუთვა, რაც არ უნდა იყოს კარგი და ადვილად გამოსაყენებელი TRANSPOSE ფუნქცია. , რა თქმა უნდა, მას აკლია მოქნილობა და, შესაბამისად, შეიძლება არ იყოს საუკეთესოგზა ბევრ სიტუაციაში.
დამატებითი ინფორმაციისთვის იხილეთ Excel TRANSPOSE ფუნქცია მაგალითებით.
მწკრივის სვეტად გადაქცევა INDIRECT და ADDRESS ფუნქციებით
ამ მაგალითში, გამოიყენებს ორი ფუნქციის კომბინაციას, რაც ცოტა რთულია. მოდით, მოვატრიალოთ პატარა ცხრილი, რათა უკეთ შევძლოთ ფოკუსირება ფორმულაზე.
ვთქვათ, რომ თქვენ გაქვთ მონაცემები 4 სვეტში (A - D) და 5 მწკრივში (1 - 5):
იმისთვის, რომ სვეტები მწკრივებზე გადაერთოთ, გააკეთეთ შემდეგი:
- შეიყვანეთ ქვემოთ მოცემული ფორმულა დანიშნულების დიაპაზონის ყველაზე მარცხენა უჯრედში, ვთქვათ A7 და დააჭირეთ Enter ღილაკს. :
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
- დააკოპირეთ ფორმულა მარჯვნივ და ქვევით იმდენ მწკრივზე და სვეტზე, რამდენიც საჭიროა, არჩეული უჯრედების ქვედა მარჯვენა კუთხეში პატარა შავი ჯვრის გადათრევით:
ესე იგი! თქვენს ახლად შექმნილ ცხრილში, ყველა სვეტი გადართულია მწკრივებზე.
თუ თქვენი მონაცემები იწყება 1-ის გარდა სხვა მწკრივში და A-ს გარდა სხვა სვეტში, მოგიწევთ ცოტა უფრო რთული ფორმულის გამოყენება:
=INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))
სადაც A1 არის თქვენი წყაროს ცხრილის ზედა მარცხენა ყველაზე უჯრედი. ასევე, გთხოვთ გაითვალისწინოთ უჯრედების აბსოლუტური და ფარდობითი მითითებების გამოყენება.
თუმცა, ტრანსპონირებული უჯრედები გამოიყურება ძალიან სადა და მოსაწყენი, ორიგინალურ მონაცემებთან შედარებით:
მაგრამ ნუ იმედგაცრუებთ, ეს პრობლემა მარტივად შეიძლება გამოსწორდეს. ორიგინალური ფორმატის აღსადგენად, აი რას აკეთებთ:
- დააკოპირეთ ორიგინალიცხრილი.
- აირჩიეთ მიღებული ცხრილი.
- დააწკაპუნეთ მარჯვენა ღილაკით მიღებულ ცხრილზე და აირჩიეთ Paste Options > Formatting .
უპირატესობები : ეს ფორმულა იძლევა უფრო მოქნილ გზას Excel-ში რიგების სვეტებად გადაქცევისთვის. ის იძლევა ტრანსპოზიციურ ცხრილში რაიმე ცვლილების შეტანის საშუალებას, რადგან იყენებთ ჩვეულებრივ ფორმულას და არა მასივის ფორმულას.
ნაკლოვანებები : მე ვხედავ მხოლოდ ერთს - რიგითი მონაცემების ფორმატირება დაკარგულია. თუმცა, თქვენ შეგიძლიათ სწრაფად აღადგინოთ ის, როგორც ეს ზემოთ იყო ნაჩვენები.
როგორ მუშაობს ეს ფორმულა
ახლა, როცა იცით, როგორ გამოიყენოთ INDIRECT / ADDRESS კომბინაცია, შეიძლება გსურდეთ მიიღოთ ინფორმაცია იმის შესახებ, თუ რა ფორმულა რეალურად მუშაობს.
როგორც მისი სახელი გვთავაზობს, INDIRECT ფუნქცია გამოიყენება უჯრედის არაპირდაპირი მითითებისთვის. მაგრამ INDIRECT-ის რეალური ძალა იმაში მდგომარეობს, რომ მას შეუძლია ნებისმიერი სტრიქონი გადააქციოს მითითებად, მათ შორის სტრიქონის ჩათვლით, რომელსაც თქვენ ქმნით სხვა ფუნქციების და სხვა უჯრედების მნიშვნელობების გამოყენებით. და ეს არის ზუსტად ის, რის გაკეთებასაც ვაპირებთ. თუ ამას მიყვებით, დანარჩენს მარტივად გაიგებთ : )
როგორც გახსოვთ, ფორმულაში კიდევ 3 ფუნქცია გამოვიყენეთ - ADDRESS, COLUMN და ROW.
ADDRESS ფუნქცია იღებს უჯრედის მისამართს თქვენ მიერ მითითებული მწკრივის და სვეტის ნომრებით, შესაბამისად. გთხოვთ დაიმახსოვროთ თანმიმდევრობა: პირველი - მწკრივი, მეორე - სვეტი.
ჩვენს ფორმულაში ჩვენ ვაწვდით კოორდინატებს საპირისპირო თანმიმდევრობით და ესარის ის, რაც რეალურად აკეთებს ხრიკს! სხვა სიტყვებით რომ ვთქვათ, ფორმულის ეს ნაწილი ADDRESS(COLUMN(A1),ROW(A1)) ცვლის მწკრივებს სვეტებად, ანუ იღებს სვეტის ნომერს და ცვლის მას რიგის რიცხვად, შემდეგ იღებს მწკრივის ნომერს და აქცევს მას სვეტად. ნომერი.
ბოლოს, INDIRECT ფუნქცია გამოაქვს შებრუნებულ მონაცემებს. საშინელება არაფერია?
გადაიტანეთ მონაცემები Excel-ში VBA მაკროს გამოყენებით
Excel-ში რიგების სვეტებად გადაქცევის ავტომატიზირებისთვის შეგიძლიათ გამოიყენოთ შემდეგი მაკრო:
Sub TransposeColumnsRows () Dim SourceRange როგორც Range Dim DestRange როგორც Range Set SourceRange = Application.InputBox(Prompt:= "გთხოვთ აირჩიეთ დიაპაზონი გადასატანად" , Title:= "Transpose Rows to Columns" , ტიპი :=8) Set DestRange = Application.InputBox (მოთხოვნა:= "აირჩიეთ დანიშნულების დიაპაზონის ზედა მარცხენა უჯრედი" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange. აირჩიეთ Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False, Transpose:= True Application.CutCopyMode = False End Subთქვენს სამუშაო ფურცელზე მაკროს დასამატებლად, გთხოვთ, მიჰყვეთ მითითებებს, რომლებიც აღწერილია როგორ ჩასვათ. და გაუშვით VBA კოდი Excel-ში.
შენიშვნა. VBA-ით ტრანსპონირებას აქვს 65536 ელემენტის შეზღუდვა. იმ შემთხვევაში, თუ თქვენი მასივი აღემატება ამ ლიმიტს, დამატებითი მონაცემები ჩუმად წაიშლება.
როგორ გამოვიყენოთ მაკრო მწკრივის სვეტად გადასაყვანად
თქვენს სამუშაო წიგნში ჩასმული მაკრო, შეასრულეთ ქვემოთნაბიჯები თქვენი ცხრილის როტაციისთვის:
- გახსენით სამიზნე სამუშაო ფურცელი, დააჭირეთ Alt + F8 , აირჩიეთ TransposeColumnsRows მაკრო და დააწკაპუნეთ Run . <. 14>
ისიამოვნეთ შედეგით :)
სვეტებისა და მწკრივების გადართვა Transpose ხელსაწყოთი
თუ რეგულარულად გჭირდებათ მწკრივიდან სვეტის გარდაქმნები, შესაძლოა რეალურად ეძებთ უფრო სწრაფ და მარტივ გზას. საბედნიეროდ, მე მაქვს ასეთი გზა ჩემს Excel-ში და ასევე აქვთ ჩვენი Ultimate Suite-ის სხვა მომხმარებლებს :)
ნება მიბოძეთ გაჩვენოთ როგორ გადართოთ რიგები და სვეტები Excel-ში სიტყვასიტყვით რამდენიმე დაწკაპუნებით:
- აირჩიეთ ნებისმიერი ცალკეული უჯრედი თქვენს ცხრილში, გადადით Ablebits ჩანართზე > Transform ჯგუფში და დააწკაპუნეთ ღილაკზე Transpose .
თუ გსურთ ჩასვათ მხოლოდ მნიშვნელობები ან შექმნათ ბმულები წყაროს მონაცემებზე რათა აიძულოთ შემობრუნებული ცხრილი ავტომატურად განახლდეს თავდაპირველ ცხრილში ყოველი ცვლილების შეტანისას, აირჩიეთ შესაბამისი ვარიანტი.
შესრულებულია! ცხრილი გადატანილია, ფორმატირება შენარჩუნებულია, დამატებითი მანიპულაციები არ არის საჭირო:
თუ გაინტერესებთ