[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『xlookupでデータ抽出』(とんかつ)
こんにちは。
データ抽出で悩んでおり解決策が分らず、こちらの掲示板にたどり着きました。有識者のお知恵をお借りしたいです。
シート1のデータ参照元からデータを引っ張り、シート2へ抽出するのですが、条件としてセルに"‐"が入っている場合は、一つ上の値を、"‐"が入っていない場合はそのセルの値を抜き出したいと思っています。
Xlookup関数を使ってみたのですが上手くいきません。シート2のように抽出するにはどのような数式を組めばよいかご教授下さい。
何卒よろしくお願い致します。
シート1
A列 B列 C列 D列 E列
4月 5月 6月 東京 果実 100 50 30 - 10 - 名古屋 野菜 5 9 3 2 - 大阪 魚 10 20 1 - 5 3
シート2
A列 B列 C列 D列
4月 5月 6月 東京 100 10 30
名古屋 2 9 3
大阪 10 5 3
< 使用 Excel:Microsoft365、使用 OS:unknown >
-が2行以上続くこともあり得るのだろうか? (ねむねむ) 2024/05/17(金) 11:14:41
ご返信ありがとうございます。
"-"が2行以上続くことはありません。
東京、名古屋、大阪の各項目に、"-"は1行だけです。
よろしくお願い致します。
(とんかつ) 2024/05/17(金) 11:43:10
質問が続いてすまないが。 各都市は必ず2行なのだろうか? (ねむねむ) 2024/05/17(金) 11:57:30
B2 =LOOKUP(10^9,INDEX(シート1!C:C,XMATCH($A2,シート1!$A:$A)+{0,1})) 右方向・→下方向・↓ (んなっと) 2024/05/17(金) 12:40:50
Sub test() Dim dstSH As Worksheet With Worksheets(1).Range("A1").CurrentRegion Set dstSH = Worksheets.Add(after:=.Parent) dstSH.Range("A1").Resize(.Rows.Count, .Columns.Count).Value = .Value End With
With dstSH Intersect(.UsedRange, .UsedRange.Offset(1), .Range("A:B")).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" Intersect(.UsedRange, .UsedRange.Offset(1, 2)).SpecialCells(xlCellTypeConstants, 2).FormulaR1C1 = "=R[-1]C" .Range("A12").Formula2 = "=UNIQUE(A2:A7)" .Range("B11").Formula2 = "=C1:E1" .Range("B12:B14").Formula2 = "=XLOOKUP(A12,$A$2:$A$7,C$2:E$7,,,-1)" End With End Sub
名古屋の6月が空白を参照して0になっちゃいますが、そこは表示形式でごまかすとして....
(もこな2 ) 2024/05/17(金) 12:45:54
説明不足で申し訳ございません。
2行になります。
ただし、シート1の都市名の一つ下にあるセルは空白となります。
んなっと様
数式のご提示ありがとうございます。
しかしながら、数式をコピーしたのですが上手くいきません。
初歩的な質問で恐縮ですが、数式の中にある(10^9はどういった意味でしょうか?
もこな2
vbaのコード提示ありがとうございます。
しかしながら、当方VBAの知識がゼロで理解が追い付いておりません。
せっかくご教授いただいたにも関わらず、誠に申し訳ございません。
(とんかつ) 2024/05/17(金) 13:22:03
<Sheet1> __A___ __B_ __C __D __E 1 4月 5月 6月 2 東京 果実 100 50 30 3 - 10 - 4 名古屋 野菜 5 9 3 5 2 - 6 大阪 魚 10 20 1 7 - 5 3
<Sheet2> __A___ __B __C __D 1 4月 5月 6月 2 東京 100 10 30 3 名古屋 2 9 3 4 大阪 10 5 3
[B2] =LET(a,XLOOKUP(A2,Sheet1!A:A,Sheet1!C:E),b,OFFSET(a,1,0),IF(ISNUMBER(b),b,a)) ↓コピー
(まる2021) 2024/05/17(金) 14:05:49
スイマセン、私のコピペミスでした。ご提示いただいた数式で上手くいきました。
ありがとうございます。
まる2021様
数式のご提示ありがとうございます。
数式のコピペをしたのですが上手くいきませんでした。数式の中にあるaとかbの意味ななんでしょうか。
初歩的な質問で申し訳ございません。
(とんかつ) 2024/05/17(金) 14:18:53
まぁ、解決したようなのでご放念ください。
(もこな2 ) 2024/05/17(金) 20:43:25
ご丁寧にありがとうございました。
今後ともどうぞ宜しくお願い致します。
まる2021様
ありがとうございました。
(とんかつ) 2024/05/20(月) 17:53:40
以下シート3に◯を表示させるにはどのような数式になるのかご教示願います。よろしくお願いします。
<Sheet3>
__A___ __B __C __D 1 4月 5月 6月 2 東京 ◯ 3 名古屋 ◯ 4 大阪 ◯ ◯ (とんかつ) 2024/07/30(火) 21:13:08
Sheet1の実際のデータ範囲が不明ですが 例示通りだとして
Sheet3 B2 =IF(ISNUMBER(INDEX(Sheet1!C:C,SEQUENCE(3,1,3,2))),"○","") 右コピー ※下にコピーする必要なし
または B2 =IF(ISNUMBER(XLOOKUP(A2,Sheet1!$A$2:$A$6,Sheet1!$C$3:$E$7)),"○","") 下コピー ※右にコピーする必要なし(上と逆)
参考まで (笑) 2024/07/31(水) 13:43:40
ありがとうございます。無事に解決いたしました。
今後とも宜しくお願い致します。
(とんかつ) 2024/07/31(水) 22:00:05
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.