[[20230629201137]] 『FILTER関数の代わり』(SASIO) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『FILTER関数の代わり』(SASIO)

エクセル2013でFILTER関数が使えないので別の関数で出したいのですが……
【表1】
1|和食 肉  すき焼き  ドラ    男性
2|和食 肉  すき焼き  しずか   女性
3|和食 魚  寿司    のび太   男性
4|洋食 魚  ムニエル  スネ夫   男性
5|洋食 野菜 サラダ   ジャイアン 男性
6|洋食 野菜 サラダ   しんのすけ 男性
7|中華 麺  ラーメン  風間    男性
8|中華 麺  ラーメン  マサオ   男性
9|中華 御飯 チャーハン ネネ    女性
0|中華 御飯 チャーハン ボー    男性
【表2】
中華 御飯 チャーハン
【表3】
表2で表示されたものを元に、
名前と性別をフィルタではなく関数で抽出したいです。
この場合だと、
1|中華 御飯 チャーハン ネネ    女性
2|中華 御飯 チャーハン ボー    男性

< 使用 Excel:Excel2013、使用 OS:unknown >


 行列番号を明記して表を提示してください。
 
「表2」とは別の場所に結果を表示するってこと?
「表2」に表示されるのは 1件だけ?

 ・「表1」は A〜E列(2行目からデータ)
 ・「表2」は G2:I2
 ・「表3」は K〜O列(2行目から) ※N列が名前、O列が性別

 N2 =IFERROR(INDEX(D:D,AGGREGATE(15,6,ROW($A$2:$A$100)/(($A$2:$A$100=$G$2)*($B$2:$B$100=$H$2)*($C$2:$C$100=$I$2)),ROW(A1))),"")
 右・下コピー
 表1のデータ範囲は実際の表に合わせる
 最後の ROW(A1)は、A1セルの値とは関係ないので変更しないように

 K2 =IF($N2="","",G$2)
 M2セルまで右コピー
 K2:M2 を下コピー

 以上
(笑) 2023/06/30(金) 09:03:15

 K2 =IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$100)/(($A$2:$A$100=$G$2)*($B$2:$B$100=$H$2)*($C$2:$C$100=$I$2)),ROW(A1))),"")
 右・下コピー

 これなら 1つの式でできますけど
 K〜M列は「表2」の値を表示させるだけなのに、ムダなことをしているような気がしないでもない。

 以上、参考まで
(笑) 2023/06/30(金) 09:27:13

文字連結でサーチするマクロで出来ますが

例えば、
Sheet1の範囲(A1:E10)からSheet2の1行目をキーとして列単位で同じであれば
sheet3に1行目から抜き出す

Option Explicit

Sub SerachKey()

    Dim key As String
    Dim i As Integer
    Dim lastRow As Integer
    Dim destRow As Integer
    Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet

    Set ws1 = Worksheets("Sheet1")
    Set ws2 = Worksheets("Sheet2")
    Set ws3 = Worksheets("Sheet3")

    key = ws2.Range("A1") & ws2.Range("B1") & ws2.Range("C1")

    lastRow = ws1.Cells(Rows.Count, 1).End(xlUp).Row
    destRow = 1

    For i = 1 To lastRow
        If ws1.Cells(i, 1) & ws1.Cells(i, 2) & ws1.Cells(i, 3) = key Then
            ws1.Rows(i).Copy Destination:=ws3.Rows(destRow)
            destRow = destRow + 1
        End If
    Next

    Set ws1 = Nothing
    Set ws2 = Nothing
    Set ws3 = Nothing

End Sub

(CCR) 2023/06/30(金) 09:57:37


回答いただいた皆様、ありがとうございました。
(SASIO) 2023/06/30(金) 22:38:42

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.