並び替えとフィルターで空白以外を抽出|シート1とシート2の関連性を保つ方法について

このQ&Aのポイント
  • シート1とシート2には人名と数字が並んでおり、同じ行/列に格納されています。しかし、空白を含んでいるため、並び替えとフィルターを使っても関連性が崩れてしまいます。本記事では、この問題を解決する方法について解説します。
  • シート1とシート2の並び替えとフィルターでは、空白以外を抽出することができます。しかし、人名と数字の関連性が保たれないため、正確なデータを取得することができません。本記事では、この問題を解決するための方法を紹介します。
  • シート1とシート2には人名と数字が格納されており、並び替えとフィルターを使って空白以外を抽出したいと考えています。しかし、昇順や降順の並び替えを行うと、人名と数字の関連が崩れるため、正確なデータを取得することができません。本記事では、この問題を解決する方法について詳しく解説します。
回答を見る
  • ベストアンサー

「並び替えとフィルター」を使って空白以外を抽出

シート1に別のシートから抽出した人名が並んでいます。 シート2にも別のシートから抽出した数字が並んでいます。 人名と数字は同じ行/列に格納されます。 シート1もシート2も空白が含まれています。 シート3に人名と数値を隣り合わせで格納したいのです。 シート1とシート2共に、「並び替えとフィルター」を使って空白以外を 抽出したいのですが、「昇順/降順」を使うと、人名と数字の関連が崩れる ので困っています。 「並び替えとフィルター」で不可能ならば、別な方法でも構いません。 ご教示いただけますようお願い致します。 シート1                 シート2   A   B   C   D         A   B   C   D 1 太郎     次郎         1 100       10 2 三郎 花子     春子     2   5  200       50 3         秋子 夏子     3         500  100 4 四郎 五郎 六郎         4  80  300  400 5 七郎         冬子     5 300            60 シート3   A   B   C   D   E   F   G   H 1 太郎 100  花子 200  次郎 10  春子 50 2 三郎   5  五郎 300  秋子 500  夏子100      3 四郎  80          六郎 400  冬子 400    4 七郎 300      5                 

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.9

No8の回答の補足です。 質問の流れを見ると、元データがすべて数式で表示されているのでしょうか。 この場合は、NO8の回答では数式セルがすべて選択されてしまう可能性が高いので、空白に見えるセルだけ選択するには、以下のような手順でデータ処理する必要があります。 すなわち、元データを選択して右クリック「コピー」、シート3で右クリック「形式を選択して貼り付け」で「値」で貼り付けて数式をすべて値に変更しておきます。 このようにすると空白に見えるセルには空白文字列が入力されていますので(実際の空白セルではないので)、以下のような手順で空白文字列セルをすべて選択して、No8の回答の手順で空白文字列セルを一括削除することができます。 すなわち、1つの空白文字列セルを選択して、右クリックコピー、Ctrl+Fで検索ダイアログを出して、そのまま検索する文字列の欄にCtrl+Vで空白文字列を貼り付けてから「すべて検索」してCtrl+Aで該当セルをすべて選択して右クリックから「削除」してください。

green1112
質問者

お礼

度々のご助言本当にありがとうございます。 No.7を実行しましたが、まだ、ダメそうです。 No.9方式の方向で検討させていただきます。 「値」で貼り付けて数式をすべて値に変更することができましたので、これで大丈夫そうです。 今夜も仕事なのでこれから仮眠をとります。 結果は別途報告させていただきます。

green1112
質問者

補足

何度もご指導いただき本当にありがとうございました。 お蔭でこの方法で目的を達成することができました。 重ねてお礼を申し上げますと共に深いご見識に敬意を表します。

その他の回答 (8)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.8

>『データ範囲を選択し、Ctrl+Gでジャンプダイアログを出して、「セル選択」「空白セル」で「OK」し、そのまま右クリックから「削除」から「上方向にシフト」を選択します。』 これが知りたかったポイントです。 本当の空白セルではなく、数式の「""」の空白表示のセルを削除したいなら以下のような手順で簡単に見掛けの空白セルを削除できます。 データ範囲を選択して、Ctrl+Fのショートカット操作で検索ダイアログを出して、検索する文字列に「""」を入力して「すべて検索」し、その後Ctrl+Aのショートカット操作で、空白に見えるセルをすべて選択し、右クリックから「削除」で「上方向にシフト」してください。 もし、上記の回答でうまくいかない場合は、データの詳細を補足説明してください。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.7

何度もごめんなさい。 前回のコードで一部不備がありました。 If Worksheets.Count < 4 Then Worksheets.Add after:=wS3 Set wS4 = Worksheets(4) End If の4行を If Worksheets.Count < 4 Then Worksheets.Add after:=wS3 End If Set wS4 = Worksheets(4) に訂正してください。 Sheet見出しに4個以上のSheetが存在した場合は前回のコードではうまく動きません。 これが最後になれば良いのですが・・・m(_ _)m

green1112
質問者

お礼

本当にありがとうございます。 これから仕事なので、明日帰ってから検証させていただきます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

何度もお邪魔します。 >実行に30分以上かかってしまいました。 というコトはかなりのデータ量だと思いますので、いままでのように各セルを舐めるように検索していたのでは 話にならないと思います。 別の方法にしてみました。 尚、Sheet4を作業用のSheetとして使用していますが、Sheet見出し上に3Sheet分だけ表示されていれば マクロが動くようにしています。 いままでのコードはすべて無視して↓のコードにしてマクロを実行してみてください。 (今回も標準モジュールです) Sub Sample4() Dim j As Long, endRow As Long, endCol As Long Dim wS1 As Worksheet, wS2 As Worksheet, wS3 As Worksheet, wS4 As Worksheet Set wS1 = Worksheets("Sheet1") Set wS2 = Worksheets("Sheet2") Set wS3 = Worksheets("Sheet3") Application.ScreenUpdating = False On Error Resume Next wS3.Cells.Clear If Worksheets.Count < 4 Then Worksheets.Add after:=wS3 Set wS4 = Worksheets(4) End If endRow = wS1.UsedRange.Rows.Count endCol = wS1.UsedRange.Columns.Count For j = 1 To endCol Range(wS1.Cells(1, j), wS1.Cells(endRow, j)).Copy wS3.Cells(1, j * 2 - 1) Next j endRow = wS2.UsedRange.Rows.Count endCol = wS2.UsedRange.Columns.Count For j = 1 To endCol Range(wS2.Cells(1, j), wS2.Cells(endRow, j)).Copy wS3.Cells(1, j * 2) Next j endRow = wS3.UsedRange.Rows.Count endCol = wS3.UsedRange.Columns.Count With Range(wS3.Cells(1, 1), wS3.Cells(endRow, endCol)) .Value = .Value End With endRow = wS3.UsedRange.Rows.Count endCol = wS3.UsedRange.Columns.Count For j = 1 To endCol Range(wS3.Cells(1, j), wS3.Cells(endRow, j)).Cut wS4.Cells(1, 1) With Range(wS4.Cells(1, "B"), wS4.Cells(endRow, "B")) .Formula = "=IF(A1="""",2,1)" .Value = .Value End With wS4.Range("A1").CurrentRegion.Sort key1:=wS4.Range("B1"), order1:=xlAscending, Header:=xlNo wS4.Range("A:A").Copy wS3.Cells(1, j) wS4.Range("A:B").Clear Next j Application.DisplayAlerts = False Worksheets(4).Delete Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "処理完了" End Sub こんどはどうでしょうか?m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

たびたびお邪魔します。 結局最初の方法でよいと思うのですが、 もしかして空白セルは数式が入っていて空白に見えている! というコトはないでしょうか? もしそうであれば数式が入っていて空白に表示されているセルはそのまま残ってしまいますので、 別案として・・・ Sub Sample3() Dim i As Long, j As Long, endRow As Long, endCol As Long, wS1 As Worksheet, wS2 As Worksheet Set wS1 = Worksheets("Sheet1") Set wS2 = Worksheets("Sheet2") Application.ScreenUpdating = False Application.ScreenUpdating = False With Worksheets("Sheet3") .Cells.Clear For j = 1 To wS1.UsedRange.Columns.Count wS1.Columns(j).Copy .Cells(1, j * 2 - 1) Next j For j = 1 To wS2.UsedRange.Columns.Count wS2.Columns(j).Copy .Cells(1, j * 2) Next j endRow = .UsedRange.Rows.Count endCol = .UsedRange.Columns.Count For i = endRow To 1 Step -1 For j = 1 To endCol If .Cells(i, j) = "" Then .Cells(i, j).Delete shift:=xlUp End If Next j Next i End With Application.ScreenUpdating = True End Sub 今度はうまく動けばよいのですが・・・m(_ _)m

green1112
質問者

お礼

私の説明不足で何度もお手数をお掛けしました。 ご指摘通り「空白セルは数式が入っていて空白に見えている!」です。 ご提示いただいたマクロで目的の形を実現することができました。 本当にありがとうございました。 但し、Excelの容量が大きいことやCPUパワーが低いこともあり、実行に30分以上かかってしまいました。 残念ながら、これでは実際には使えないので、シート1とシート2をそれぞれ、単純に上詰めすることができればあとは何とかできます。 度々で大変恐縮ですが、お知恵を拝借できますよう重ねてお願い申し上げます。 補足:これまではシート1のみであり、「並び替え」を使ってソート(マクロ記録)していたのですが、シート2と連動させる必要がでてきて、シート2は数字なので、降順/昇順を使うとうまく、シート1と連動しないので困っています。 シート1とシート2の見かけ上の空白セルを取り除いて上詰めできれば解決します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です。 >各列毎に空白行を取り除いて、頭詰めすることはできるでしょうか? すなわち列も空白は削除して左詰めしたい!というコトでしょうかね? もしそうであれば↓のコードに変更してみてください。 ※ 1行だけの追加ですが、どの行に!というよりもう一度最初からのコードを載せますので 前回のコードはすべて削除して新たにコピー&ペーストしてみてください。 Sub Sample2() 'この行から Dim j As Long, endRow As Long, endCol As Long, wS1 As Worksheet, wS2 As Worksheet Set wS1 = Worksheets("Sheet1") Set wS2 = Worksheets("Sheet2") Application.ScreenUpdating = False With Worksheets("Sheet3") .Cells.Clear For j = 1 To wS1.UsedRange.Columns.Count wS1.Columns(j).Copy .Cells(1, j * 2 - 1) Next j For j = 1 To wS2.UsedRange.Columns.Count wS2.Columns(j).Copy .Cells(1, j * 2) Next j endRow = .UsedRange.Rows.Count endCol = .UsedRange.Columns.Count On Error Resume Next '←お・ま・じ・な・い! Range(.Cells(1, 1), .Cells(endRow, endCol)).SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp .Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Delete shift:=xlToLeft '←この行を追加 End With Application.ScreenUpdating = True End Sub 'この行まで 今度はどうでしょうか?m(_ _)m

green1112
質問者

お礼

すみません。 左詰めではなく、上詰めです。 よろしくお願い致します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! VBAになってしまいますが、一例です。 Sheet1とSheet2のデータは行・列とも一致しているという前提です。 (例)「太郎」がSheet1のA1にあれば、それに対応するデータがSheet2の同じセル番地に存在する Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim j As Long, endRow As Long, endCol As Long, wS1 As Worksheet, wS2 As Worksheet Set wS1 = Worksheets("Sheet1") Set wS2 = Worksheets("Sheet2") Application.ScreenUpdating = False With Worksheets("Sheet3") .Cells.Clear For j = 1 To wS1.UsedRange.Columns.Count wS1.Columns(j).Copy .Cells(1, j * 2 - 1) Next j For j = 1 To wS2.UsedRange.Columns.Count wS2.Columns(j).Copy .Cells(1, j * 2) Next j endRow = .UsedRange.Rows.Count endCol = .UsedRange.Columns.Count On Error Resume Next '←お・ま・じ・な・い! Range(.Cells(1, 1), .Cells(endRow, endCol)).SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp End With Application.ScreenUpdating = True End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

green1112
質問者

お礼

高度なご回答をいただき、感激しています。 早速、実行してみましたところ、Sheet1とSheet2の内容が綺麗に並びました。 しかし、行は元のままでした。 各列毎に空白行を取り除いて、頭詰めすることはできるでしょうか? 申し訳ございませんが、もう少しお知恵を拝借できると大変助かります。

noname#192382
noname#192382
回答No.2

ブランクのマクロを作り、それにしたのマクロをコピーはり付けした後、このマクロを実行させるとシート3の各セルに、対応するシート1とシート2のデータをつないだデータが入っています。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2013/11/6 ユーザー名 : ' Dim i As Integer, j As Integer ' For i = 1 To 2 For j = 1 To 4 Worksheets(3).Cells(i, j) = Worksheets(1).Cells(i, j) & Worksheets(2).Cells(i, j) Next Next End Sub

green1112
質問者

お礼

お礼が遅くなりました。 ありがとうございました。 検証させていただきます。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

ご希望の操作は以下のような手順で行うことができます。 まずシート1とシート2のシート名部分をCtrlキーを押しながらクリックして作業グループにして、B列を選択して、右クリック「挿入」、同様にD列をクリックして右クリック「挿入」の操作を繰り返し、1列ごとに空白列の空いたリストを作成します。 次にデータ範囲を選択し、Ctrl+Gでジャンプダイアログを出して、「セル選択」「空白セル」で「OK」し、そのまま右クリックから「削除」から「上方向にシフト」を選択します。 最後にシート名を右クリックして「作業グループの解除」を行い、シート2のデータ範囲を選択し、右クリック「コピー」から、シート1のB1セル(数字データを入力する1つ右のセル)を選択し、右クリック「形式を選択して貼り付け」で「空白セルを無視する」にチェックを入れて「すべて」を貼り付けてください。 ちなみにシート1とシート2のデータを残したい場合は、シート3上にデータをコピーして同様な作業をすることになります(このケースでは列を挿入するのではなく、Shiftドラッグにより、そのままデータ列を挿入する方が簡単です)。

green1112
質問者

お礼

ご回答いただきありがとございました。 『データ範囲を選択し、Ctrl+Gでジャンプダイアログを出して、「セル選択」「空白セル」で「OK」し、そのまま右クリックから「削除」から「上方向にシフト」を選択します。』 これが知りたかったポイントです。 大変参考になりました。 ありがとうございました。

関連するQ&A

  • サブクエリで返される複数の行を一列で表示する方法

    お世話になります。 サブクエリで返される複数の行を一列で表示する方法がわからなくて投稿させていただきました。 以下のテーブルを仮定として質問させていただきます。 1.employees テーブル * ”employee” を一意に特定するための ”employee_id ” です。 employee_id employee --------------------------- 1      赤井 --------------------------- 2      工藤 --------------------------- 3      鈴木 --------------------------- 4      吉田 --------------------------- 2.child テーブル * "child" を ”employee” に 紐付けさせるために ”employee_id ” を持たせました。 employee_id child ---------------------- 1      一郎 ---------------------- 1      二郎 ---------------------- 2      三郎 ---------------------- 2      四郎 ---------------------- 3      春子 ---------------------- 3      夏子 ---------------------- 4      秋子 ---------------------- 4      冬子 3. family テーブル * ”employee テーブル” と "child テーブル" を結合したあとのイメージです。 employee_id employee child_1 child_2 ----------------------------------------------- 1      赤井    一郎  二郎 ----------------------------------------------- 2      工藤    三郎  四郎 ----------------------------------------------- 3      鈴木    春子  夏子 ----------------------------------------------- 4      吉田    秋子  冬子 ----------------------------------------------- 皆様の知恵をお貸しください。よろしくお願いします。

    • ベストアンサー
    • MySQL
  • Accessで一致データを抜いて項目をずらす方法

    Access2000を使用して、テーブル1のフィールド2~5で、テーブル2と一致したフィールドを抜いて項目をシフトさせたいのですが、どのような方法があるのでしょうか。 <元テーブル>    フィールド→ 氏名, 名1, 名2, 名3, 名4 ・テーブル1の項目 山田,花子,次郎,三郎,四郎           鈴木,五郎,六郎,七朗,和子           佐藤,和子,一郎,太郎,四郎 ・テーブル2の項目 山田,花子           鈴木,七朗           鈴木,和子          佐藤,一郎           佐藤,四郎           佐藤,和子 <変換後テーブル>テーブル1を基準として   フィールド→ 氏名, 名1, 名2, 名3, 名4           山田,次郎,三郎,四郎,null           鈴木,五郎,六郎,null,null           佐藤,太郎,null,null,null 分りずらい説明で申し訳ありませんが、宜しくお願いします。

  • 一郎二郎三郎四郎五郎六郎七郎八郎九郎十郎・・・

    一郎・二郎・三郎・四郎・五郎・六郎・七郎・八郎・九郎・十郎で・・・ (1)あなたの親族知人でいるのは、どの名前ですか?    因みに私の場合は、中学校の恩師に一郎先生と、妻の叔父に四郎さんがいるだけです。 (2)それぞれで思いつく有名人は、誰ですか? 各1名づつ上げてみてください。    (全部でなくとも、思いつく名前だけで結構です)

  • エクセルのマクロで全シ-ト複数条件検索

    エクセルで全シートから複数項目で検索をかけ、条件に合う項目の行ごと 新しいシートに抽出結果として表示することは可能なのでしょうか。 初心者なりに考え、無様なコードではありますが、 検索条件が1つであれば、条件にあう行をすべて抽出することはできました。 ですが複数、または列ごと条件として指定することができず、難儀しております。 たとえば Sheet1    A    B    C    D 1      田中太郎   男   穏やか  2      鈴木次郎   女   うっかり 3      山田三郎   女   怒りっぽい 4      佐藤四郎   男   せっかち Sheet2    A    B    C    D 1      伊藤五郎   女   用心深い 2      加藤六郎   男   ずぼら 3      斎藤七郎   女   臆病 4      後藤八郎   男   陽気 Sheet3    A    B    C    D 1      【条件】 2      加藤六郎 3      鈴木次郎 4      山田三郎 5      後藤八郎 マクロ実行後↓ 新しいシート    A    B    C    D 1      加藤六郎   男   ずぼら 2      鈴木次郎   女   うっかり 3      山田三郎   女   怒りっぽい 4      後藤八郎   男   陽気 といった具合にしたいと考えております。 この場合ですと、B列全体を条件としたり、 Sheet3の条件が入力されているセルすべてを検索条件として 渡すことはできるのでしょうか。 実際のシートでは、条件が10個~100個ほどあり、 シートごとに数はばらばらになっております。 どうかわかる方、お力をお貸しください。

  • 【EXCEL関数】違うシートに抽出結果を出したい

    一覧表から「○」の条件が付いたデータのみを別シートに関数で抽出したいです。 フィルタではなく関数を使用したいのは、抽出したデータから名前の定義を使用して リスト表示をさせたいためです。ご教示のほど、宜しくお願いします。 シート1は一覧表となっており、A列に「○」のついたデータのみをシート2に表示 シート1(一覧表)   A  B 1  ○  山田太郎 2  ×  佐藤次郎 3  ○  高橋三郎 4  ×  鈴木四郎 5  ×  中村五郎 シート2(抽出結果を表示させる)   A  B 1  ○  山田太郎 2  ○  高橋三郎 3  4  5 フィルタオプション、当方の考え得る限りの配列関数等、色々試しましたが、 不勉強のために上手く結果が表示されませんでした。 ご教示のほど、宜しくお願い致します。

  • シート内の抽出について(Excel)

    シート内の抽出について(Excel) シート内に同じ文字列が複数存在するデータから抽出して使用したいのですが、ご存知の方おりましたら教えていただきたいのですが。 例    A   B   C   D  1 001  ABC 500  太郎 2 001  ABC 200  花子 3 001  ABC 150  太郎 4 002  DEF 500  次郎 5 002  DEF 200  三郎 6 002  DEF 150  次郎 7 002  DEF 100  次郎 このようなシートがあったとしますと 抽出条件として ’001’ とした場合 番号:001    A   B   C   D  1 001  ABC 500  太郎 2 001  ABC 200  花子 3 001  ABC 150  太郎 このように他のシートに抽出できればベストなのです。 データーが膨大なものでオートフィルターで抽出しコピー&ペーストでは時間がかかり過ぎてしまいます。関数でなんとかなればと思っておりますがお知恵をかしていただけないでしょうか?

  • てるてる家族で・・・

    NHKの朝の連ドラ「てるてる家族」を見て ふと、疑問に思ったのですが、 このドラマは、原作者の、なかにし礼さんの 奥さんの実家が舞台だそうですね。 ドラマでは、春子、夏子、秋子、冬子の 四姉妹が出ていますが、女優のいしだあゆみさんは、誰に当たるのでしょうか?

  • 協力お願いします

    このような質問をして申し訳ないんですがプログラミングが苦手なのでどなたか答えた頂けるのならばありがたいです。 下記表を並び替えて、 1) 総点順に並び換えよ。 2) 各科目別成績順に並びかえよ。   国語 算数 理科 社会 英語 太郎80 90 75 70 70 次郎70 85 80 80 85 三郎75 95 65 90 95 四朗65 70 80 75 80 春子90 100 85 90 85 夏子100 95 80 85 80 秋子60 75 90 70 85 冬子85 80 85 90 95 このような問題なんですがヒントをすごいもらって #include"stdio.h" #include "math.h" #define n 9 #define m 7 void main() { char namae[n][5]={"名前","太郎","二郎","三郎","四郎","春子","夏子","秋子","冬子"}; char kamoku [7][5]={"科目","国語","算数","理科","社会","英語","合計"}; double seiseki[n][m]={{0,0,0,0,0},{80,90,75,70,70},{70,85,80,80,85},{75,95,65,90,95},{65,70,80,75,80},{90,100,85,90,85},{100,95,80,85,80},{60,75,90,70,85},{85,80,85,90,95}}; int i,j; double goukei[n]; for(i=0;i<m;++i){ printf(" %s ",kamoku[i]); } printf("\n"); for(i=1;i<n;++i){ goukei[i]=0; printf("%s",namae[i]); for(j=0;j<m-2;++j){ printf("%6.0f",seiseki[i][j]); goukei[i]+=seiseki[i][j]; } printf("%6.0f\n",goukei[i]); } } こんな感じにはなったんですがあとどうしたらいいのかさっぱりわからません。 どなたかお力を貸していただきたく思います。 長文、乱文失礼いたしました。

  • エクセルのことで質問です

    うまく説明ができないかもしれないのですがよろしくお願いします<(_ _)> シート1 会社名  氏名   携帯番号 ○○会社 山田太郎 090-****-**** ○○会社 佐藤次郎 090-****-**** ○○会社 田中三郎 090-****-**** ××会社 松尾四郎 090-****-**** ××会社 小泉五郎 090-****-****         ・         ・         ・ シート2 会社名  氏名   携帯番号 ××会社 松尾四郎 というデータがあって、シート2で××会社の松尾さんの携帯番号を抽出したい時は何の関数を使えば良いでしょう?

  • エクセルで文字列を数えて一覧表にしたいのですが

    たとえばですが、2人一組で配達に行きます。 メンバーは、太郎、次郎、三郎、四郎、五郎・・・と多人数です。 A1に太郎、B1に三郎 A2に次郎、B2に五郎 A3に太郎、B3に次郎 ・ ・ ・ と、いうような表ができます。 このとき、*郎は何回配達にいったのかをカウントしたいのです。 *郎は、A、Bのどちらに登場するかわかりませんし、 何回も登場しますし、組み合わせもばらばらです。 最終的に、太郎 15回、次郎 8回、三郎 21回・・・というように分かるようにしたいので、 仮にD1に太郎、E1に次郎、F1に三郎・・・の名前 (ダブって登場する名前を一つにまとめて、登場する全ての名前を残したい)、 D2に太郎、E2次郎、F2に三郎の回数(登場した名前の回数を数字で求めたい) というようにしたいのです。 エクセルの詳しい方、よろしくお願いします。

専門家に質問してみよう