3行2列のブロックからできているテーブルより特定の文字列(数値、日付、文字列)を、左上から右下のブロックまで行番号の小さい順に、かつ列番号の小さい順に複数検索し、該当ブロックの検索値の一つ上のセルと一つ下の左右のデータを取出して一覧表を作成したいと思います。
因みに、A列B列だけだとしたら、
セル11の取り出しは、 {=IF(COUNTIF($A$1:$A$18,$M$1)<ROW($A1),"",INDEX($A$1:$A$18,SMALL(IF($A$1:$A$18=$M$1,ROW($A$1:$A$18)-1),ROW($A1))))}で
セル26の取り出しは、上を列方向にオートフィルして取り出せました。
同様に、データ11とデータ26も取り出せました。
また、コード11とコード26の取り出しは、難しかったですが
{=IF(COUNTIF($A$1:$A$18,$M$1)<ROW($A1),"",INDEX($B$1:$B$18,SMALL(IF($A$1:$A$18=$M$1,ROW($B$1:$B$18)+1),ROW($A1))))}としたら、
取り出せました。
しかし、質問のように複数の列がある場合にはどうすればよいのか、または別の関数(例えばSUMPRODUCT関数など)を利用しなければできないのか、としたら、どういう計算式になるのか、まったく混迷しています。
関数だけで解決できる方法が有りましたら是非とも教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
[No.2]からの続き
7.次式を入力したセル Q5 を下方にオートフィル
 ̄ ̄=IFERROR(SMALL(TmpTbl,ROW(A1)),"")
8.セル M5 に次式を入力
 ̄ ̄=IF($Q5="","",OFFSET($A$1,$Q5/10-2,MOD($Q5,10)-1))
9.セル N5 に次式を入力
 ̄ ̄=IF($Q5="","",OFFSET($A$1,$Q5/10,MOD($Q5,10)-1))
10.セル O5 に次式を入力
 ̄ ̄=IF($Q5="","",OFFSET($A$1,$Q5/10,MOD($Q5,10)))
結果を此処の添付図に示しています。
No.2
- 回答日時:
[No.1]からの続き
此処の添付図に示す作業表を作成します。
なお、セル M1 に検索日付(例として、2018/12/3)を入力しておきます。
2.次式を入力したセル R2 を下方にズズーッと(取り敢えず 10行目まで)オートフィル
 ̄ ̄=IFERROR(SMALL(IF(table=$M$1,ROW(table)),ROW(A1)),0)
 ̄ ̄【お断り】上式は必ず配列数式として入力のこと
3.次式を入力したセル S2 を右方に9列、下方に8行オートフィル
 ̄ ̄=IFERROR(SMALL(IF(OFFSET($A$1,$R2-1,,,10)=$M$1,COLUMN(table)),COLUMN(A1)),"")
 ̄ ̄【お断り】上式は必ず配列数式として入力のこと
4.次式を入力したセル AC2 を下方にズズーッとオートフィル
 ̄ ̄=IF(R2,IF(COUNTIF(R$2:R2,R2)>1,"",R2),"")
5.次式を入力したセル AD2 を右方に9列、下方に8行オートフィル
 ̄ ̄=IFERROR($AC2*10+S2,"")
6.ステップ1と同様の手法で、範囲 AD2:AM10 に名前 TmpTbl を付ける
【続く】
No.1
- 回答日時:
かなり面倒なので、数回に分けて記します。
添付図を出来るだけ鮮明にするために、文字数を少なくした同等のテーブルで説明します。
今回はベースとなる「3行2列のブロックからできているテーブル」を添付図に示しておくだけェ~。
1.範囲 A1:J18 を選択 ⇒ Alt+MMD ⇒ [名前]ボックスに table と入力 ⇒ [OK]
【続く】
早々とご回答いただきまして有難うございます。
ALT+MMDて何?というレベルですので、これから数式の意味を理解しながら、検証していきます。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
【Microsoft Office Excel Comp...
-
Excelはなんで先頭の0を消すん...
-
Excelのセルを飛ばして入力する
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excelのオートフィル
-
Excel 2019 のピボットテーブル...
-
スプレッドシート クエリ関数 1...
-
excelの不要な行の削除ができな...
-
Excel初心者です。 詳しい方、...
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
EXACT関数とIF関数の組み合わせ...
-
Excelのグラフ軸について
-
スマートな関数を教えて下さい。
-
Excelで全角を半角にしたいので...
-
【マクロ】エクセルにかいてあ...
-
Excel:一部のフォントでセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報