回答編集履歴

3

誤字修正

2023/05/17 07:07

投稿

kzy53
kzy53

スコア32

test CHANGED
@@ -13,7 +13,7 @@
13
13
  =QUERY(A2:C7, "select A, max(B) group by A label max(B) ''", 0)
14
14
  ```
15
15
 
16
- 2. 1で出力したデータの一つ横の列に1で出力したID、日付と一致するC列のデータを取得
16
+ 2.1で出力したデータの一つ横の列に1で出力したID、日付と一致するC列のデータを取得
17
17
  ```ここに言語を入力
18
18
  =ARRAYFORMULA(VLOOKUP(A13&B13, {A1:A6&B1:B6, C1:C6}, 2, false))
19
19
  ```

2

追記

2023/05/17 07:06

投稿

kzy53
kzy53

スコア32

test CHANGED
@@ -4,4 +4,21 @@
4
4
  =QUERY(データの対象範囲, "select A,B,C order by B desc limit 1")
5
5
  ```
6
6
 
7
+ 追記
8
+ IDごとの重複を出すには一つの関数でやるには少し厳しいですね。Google Apps Scriptを使うか
9
+ もしくは、二つの関数に分けて以下はいかがでしょうか?
7
10
 
11
+ 1. B列(日付列が一番大きいデータのIDと日付を取得
12
+ ```ここに言語を入力
13
+ =QUERY(A2:C7, "select A, max(B) group by A label max(B) ''", 0)
14
+ ```
15
+
16
+ 2. 1で出力したデータの一つ横の列に1で出力したID、日付と一致するC列のデータを取得
17
+ ```ここに言語を入力
18
+ =ARRAYFORMULA(VLOOKUP(A13&B13, {A1:A6&B1:B6, C1:C6}, 2, false))
19
+ ```
20
+ 上記の関数の説明としては、
21
+ =ARRAYFORMULA(VLOOKUP(IDと日付のセルどれか一つ, {元のデータのID列上から下まで&元のデータの日付列上から下まで, 出力したい列}, 2, false))
22
+ になります。
23
+
24
+

1

"が変になっていたので修正

2023/05/16 14:15

投稿

kzy53
kzy53

スコア32

test CHANGED
@@ -1,7 +1,7 @@
1
1
  Query関数でどうでしょう?
2
2
 
3
3
  ```ここに言語を入力
4
- =QUERY(データの対象範囲,select A,B,C order by B desc limit 1)
4
+ =QUERY(データの対象範囲, "select A,B,C order by B desc limit 1")
5
5
  ```
6
6
 
7
7