def extract_and_transform(complex_list):
numeric_values = []
for item in complex_list:
if isinstance(item, int) or isinstance(item, float):
numeric_values.append(item)
elif isinstance(item, list):
for sub_item in item:
if isinstance(sub_item, int) or isinstance(sub_item, float):
numeric_values.append(sub_item)
elif isinstance(item, dict):
for sub_item in item.values():
if isinstance(sub_item, int) or isinstance(sub_item, float):
numeric_values.append(sub_item)
sorted_values = sorted(numeric_values)
cubed_values = [value ** 3 for value in sorted_values]
return cubed_values
complex_list = [1, 'two', [3, 'four', 5], {'six': 6}, 7]
result = extract_and_transform(complex_list)
print(result)